@mithrl/design-system 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +63 -0
  2. package/dist/components/account-menu/AccountMenu.d.ts +27 -0
  3. package/dist/components/avatar/Avatar.d.ts +38 -0
  4. package/dist/components/badge/Badge.d.ts +28 -0
  5. package/dist/components/button/Button.d.ts +28 -0
  6. package/dist/components/checkbox/Checkbox.d.ts +27 -0
  7. package/dist/components/dialog/Dialog.d.ts +94 -0
  8. package/dist/components/dropdown-menu/DropdownMenu.d.ts +102 -0
  9. package/dist/components/field/Field.d.ts +62 -0
  10. package/dist/components/field-label/FieldLabel.d.ts +32 -0
  11. package/dist/components/field-message/FieldMessage.d.ts +23 -0
  12. package/dist/components/file-dropzone/FileDropzone.d.ts +54 -0
  13. package/dist/components/global-app-bar/GlobalAppBar.d.ts +77 -0
  14. package/dist/components/icon/Icon.d.ts +41 -0
  15. package/dist/components/icon-button/IconButton.d.ts +57 -0
  16. package/dist/components/link/Link.d.ts +39 -0
  17. package/dist/components/panel-tabs/PanelTabs.d.ts +46 -0
  18. package/dist/components/progress-indicator/ProgressIndicator.d.ts +28 -0
  19. package/dist/components/project-card/ProjectCard.d.ts +59 -0
  20. package/dist/components/radio/Radio.d.ts +23 -0
  21. package/dist/components/segmented-tabs/SegmentedTabs.d.ts +61 -0
  22. package/dist/components/select/Select.d.ts +40 -0
  23. package/dist/components/separator/Separator.d.ts +35 -0
  24. package/dist/components/skeleton/Skeleton.d.ts +17 -0
  25. package/dist/components/standard-tabs/StandardTabs.d.ts +54 -0
  26. package/dist/components/switch/Switch.d.ts +61 -0
  27. package/dist/components/tag/Tag.d.ts +27 -0
  28. package/dist/components/text-field/TextField.d.ts +46 -0
  29. package/dist/components/textarea/Textarea.d.ts +44 -0
  30. package/dist/components/toggle-button/ToggleButton.d.ts +47 -0
  31. package/dist/components/tooltip/Tooltip.d.ts +46 -0
  32. package/dist/components/upload-queue/UploadQueue.d.ts +73 -0
  33. package/dist/index.d.ts +67 -0
  34. package/dist/index.js +3869 -0
  35. package/dist/patterns/new-project-dialog/NewProjectDialog.d.ts +42 -0
  36. package/dist/patterns/project-library/ProjectLibrary.d.ts +101 -0
  37. package/dist/styles.css +2 -0
  38. package/dist/styles.d.ts +1 -0
  39. package/package.json +79 -0
@@ -0,0 +1,42 @@
1
+ import { type ReactNode } from "react";
2
+ import { type DialogContentProps } from "../../components/dialog/Dialog";
3
+ import { type FileDropzoneProps } from "../../components/file-dropzone/FileDropzone";
4
+
5
+ export type NewProjectResource = {
6
+ id: string;
7
+ name: string;
8
+ kind: "file" | "folder";
9
+ metadata?: string;
10
+ files: readonly File[];
11
+ };
12
+ export type NewProjectDraft = {
13
+ name: string;
14
+ description: string;
15
+ agentContext: string;
16
+ resources: readonly NewProjectResource[];
17
+ };
18
+ export type NewProjectDialogInitialValue = Partial<Omit<NewProjectDraft, "resources">> & {
19
+ resources?: readonly NewProjectResource[];
20
+ };
21
+ export type NewProjectDialogProps = {
22
+ open?: boolean;
23
+ defaultOpen?: boolean;
24
+ onOpenChange?: (open: boolean) => void;
25
+ /** Associates a controlled Dialog with its external New project trigger. */
26
+ triggerId?: string;
27
+ initialValue?: NewProjectDialogInitialValue;
28
+ onCreate: (draft: NewProjectDraft) => void | Promise<void>;
29
+ onResourcesChange?: (resources: readonly NewProjectResource[]) => void;
30
+ submitting?: boolean;
31
+ submitError?: ReactNode;
32
+ accept?: FileDropzoneProps["accept"];
33
+ maxFiles?: FileDropzoneProps["maxFiles"];
34
+ maxFileSize?: FileDropzoneProps["maxFileSize"];
35
+ portalContainer?: DialogContentProps["portalContainer"];
36
+ className?: string;
37
+ };
38
+ /**
39
+ * Home creation pattern. It owns local draft orchestration while transport,
40
+ * authorization, persistence, routing, and analytics remain product-owned.
41
+ */
42
+ export declare function NewProjectDialog({ open, defaultOpen, onOpenChange, triggerId, initialValue, onCreate, onResourcesChange, submitting, submitError, accept, maxFiles, maxFileSize, portalContainer, className, }: NewProjectDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,101 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import { type ProjectCardProps } from "../../components/project-card/ProjectCard";
3
+
4
+ export type ProjectLibraryScope = "mine" | "all";
5
+ export type ProjectLibrarySort = "activity" | "name";
6
+ export type ProjectLibraryPresentation = "grid" | "list";
7
+ export type ProjectLibraryState = "ready" | "loading" | "empty" | "error";
8
+ export type ProjectLibraryProject = Omit<ProjectCardProps, "headingLevel" | "presentation"> & {
9
+ /** Stable product identity used for list keys and collection transitions. */
10
+ id: string;
11
+ /** Whether the authenticated user owns or created this project. */
12
+ ownedByCurrentUser: boolean;
13
+ };
14
+ type NativeProjectLibraryProps = Omit<HTMLAttributes<HTMLElement>, "children" | "onChange">;
15
+ export type ProjectLibraryProps = NativeProjectLibraryProps & {
16
+ projects: readonly ProjectLibraryProject[];
17
+ /** Product-owned structural truth. Scoped or filtered zero remains `ready`. */
18
+ state?: ProjectLibraryState;
19
+ /**
20
+ * Optional server-reported count for the current controlled scope and query.
21
+ * Uncontrolled local filters derive their count from the supplied projects.
22
+ */
23
+ resultCount?: number;
24
+ scope?: ProjectLibraryScope;
25
+ defaultScope?: ProjectLibraryScope;
26
+ onScopeChange?: (scope: ProjectLibraryScope) => void;
27
+ query?: string;
28
+ defaultQuery?: string;
29
+ onQueryChange?: (query: string) => void;
30
+ sort?: ProjectLibrarySort;
31
+ defaultSort?: ProjectLibrarySort;
32
+ onSortChange?: (sort: ProjectLibrarySort) => void;
33
+ presentation?: ProjectLibraryPresentation;
34
+ defaultPresentation?: ProjectLibraryPresentation;
35
+ onPresentationChange?: (presentation: ProjectLibraryPresentation) => void;
36
+ /** Number of results initially disclosed from the available collection. */
37
+ initialVisibleCount?: number;
38
+ /** Number of additional results disclosed by each Load more activation. */
39
+ loadMoreCount?: number;
40
+ /** Called after local disclosure so an owning product can fetch another batch. */
41
+ onLoadMore?: () => void;
42
+ /** Keeps existing cards visible and reserves only the incoming batch. */
43
+ loadingMore?: boolean;
44
+ /** Keeps the recovery action mounted, focused, and visibly busy. */
45
+ retrying?: boolean;
46
+ /** Required recovery boundary when `state` is `error`. */
47
+ onRetry?: () => void;
48
+ /** Required boundary for the product-owned creation workflow. */
49
+ onNewProject: () => void;
50
+ /** Stable external trigger identity used by controlled New Project Dialog. */
51
+ newProjectTriggerId?: string;
52
+ newProjectLabel?: string;
53
+ /** Omits repeated current-user identity in My projects by default. */
54
+ hideCreatorInMyProjects?: boolean;
55
+ };
56
+ /**
57
+ * Home-level Projects pattern. It composes approved controls and Project Card,
58
+ * while data fetching, routing, authorization, and creation stay product-owned.
59
+ */
60
+ export declare const ProjectLibrary: import("react").ForwardRefExoticComponent<NativeProjectLibraryProps & {
61
+ projects: readonly ProjectLibraryProject[];
62
+ /** Product-owned structural truth. Scoped or filtered zero remains `ready`. */
63
+ state?: ProjectLibraryState;
64
+ /**
65
+ * Optional server-reported count for the current controlled scope and query.
66
+ * Uncontrolled local filters derive their count from the supplied projects.
67
+ */
68
+ resultCount?: number;
69
+ scope?: ProjectLibraryScope;
70
+ defaultScope?: ProjectLibraryScope;
71
+ onScopeChange?: (scope: ProjectLibraryScope) => void;
72
+ query?: string;
73
+ defaultQuery?: string;
74
+ onQueryChange?: (query: string) => void;
75
+ sort?: ProjectLibrarySort;
76
+ defaultSort?: ProjectLibrarySort;
77
+ onSortChange?: (sort: ProjectLibrarySort) => void;
78
+ presentation?: ProjectLibraryPresentation;
79
+ defaultPresentation?: ProjectLibraryPresentation;
80
+ onPresentationChange?: (presentation: ProjectLibraryPresentation) => void;
81
+ /** Number of results initially disclosed from the available collection. */
82
+ initialVisibleCount?: number;
83
+ /** Number of additional results disclosed by each Load more activation. */
84
+ loadMoreCount?: number;
85
+ /** Called after local disclosure so an owning product can fetch another batch. */
86
+ onLoadMore?: () => void;
87
+ /** Keeps existing cards visible and reserves only the incoming batch. */
88
+ loadingMore?: boolean;
89
+ /** Keeps the recovery action mounted, focused, and visibly busy. */
90
+ retrying?: boolean;
91
+ /** Required recovery boundary when `state` is `error`. */
92
+ onRetry?: () => void;
93
+ /** Required boundary for the product-owned creation workflow. */
94
+ onNewProject: () => void;
95
+ /** Stable external trigger identity used by controlled New Project Dialog. */
96
+ newProjectTriggerId?: string;
97
+ newProjectLabel?: string;
98
+ /** Omits repeated current-user identity in My projects by default. */
99
+ hideCreatorInMyProjects?: boolean;
100
+ } & import("react").RefAttributes<HTMLElement>>;
101
+ export {};
@@ -0,0 +1,2 @@
1
+ :root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f3f3;--color-surface:#fafafa;--color-surface-foreground:#302d2f;--color-card:#fff;--color-card-foreground:#302d2f;--color-popover:#fff;--color-popover-foreground:#302d2f;--color-foreground:#302d2f;--color-foreground-strong:#242123;--color-foreground-secondary:#302d2f94;--color-muted:#f7f5f5;--color-muted-foreground:#736d70;--color-message-user:var(--color-accent);--color-brand:#71c29a;--color-brand-foreground:#13251b;--color-brand-hover:#5bb487;--color-brand-strong:#40a272;--color-brand-pressed:#40a272;--color-brand-subtle:#e0f1e9;--color-brand-bloom:#83cba7;--color-primary:#242123;--color-primary-foreground:#fff;--color-tooltip:var(--color-primary);--color-tooltip-foreground:var(--color-primary-foreground);--color-primary-hover:#3a3a3a;--color-primary-strong:#0d0d0d;--color-primary-pressed:#0d0d0d;--color-primary-subtle:#f0edee;--color-secondary:#e5e2e3;--color-secondary-foreground:#302d2f;--color-secondary-hover:#ddd9db;--color-secondary-pressed:#d4cfd2;--color-control:var(--color-secondary);--color-control-hover:var(--color-secondary-hover);--color-accent:#f0edee;--color-accent-foreground:#302d2f;--color-state-hover:#302d2f12;--color-state-selected:#e5e2e3;--color-state-disabled:#302d2f6b;--color-dropdown-menu-item-hover:#302d2f12;--color-icon:var(--color-foreground-secondary);--color-icon-strong:#242123d6;--color-border:#e3dfe1;--color-border-subtle:#302d2f14;--color-border-soft:#302d2f17;--color-border-hover:#302d2f2e;--color-input:var(--color-border);--color-input-hover:var(--color-border-hover);--color-overlay:#1818183d;--color-input-disabled:#302d2f17;--color-input-focus:#8f898c;--color-input-placeholder:#302d2f7a;--color-state-hover-overlay:#ffffff9e;--color-ring:#3e9d6e;--color-success:var(--color-brand);--color-success-foreground:var(--color-brand-foreground);--color-success-strong:var(--color-brand-strong);--color-success-subtle:var(--color-brand-subtle);--color-success-subtle-foreground:var(--color-brand-foreground);--color-warning:#fce7bf;--color-warning-foreground:#705400;--color-warning-hover:#f9d99f;--color-warning-pressed:#f8ca79;--color-warning-strong:#aa7d2c;--color-warning-subtle:#fff3dc;--color-information:#d8e7fa;--color-information-foreground:#25508b;--color-information-hover:#c7ddf8;--color-information-pressed:#b1cef5;--color-information-strong:#3d84e7;--color-information-subtle:#ecf3fd;--color-destructive:#ffddd8;--color-destructive-foreground:#993324;--color-destructive-hover:#ffcdc5;--color-destructive-pressed:#ffbdb4;--color-destructive-strong:#993324;--color-destructive-subtle:#ffe7e3;--color-link:#317a57;--color-link-hover:#296b4a;--color-link-pressed:#255f42;--color-link-focus:var(--color-ring);--color-chart-1:#3e77c5;--color-chart-2:#c95b47;--color-chart-3:#46935c;--color-chart-4:#8259c0;--color-chart-5:#b57c20;--color-chart-grid:var(--color-border-soft);--color-chart-axis:var(--color-muted-foreground);--color-chart-label:var(--color-foreground-secondary);--color-chart-tooltip:var(--color-popover);--color-chart-tooltip-foreground:var(--color-popover-foreground);--color-chart-sequential-1:#d8e7fa;--color-chart-sequential-2:#b1cef5;--color-chart-sequential-3:#78aaee;--color-chart-sequential-4:#3d84e7;--color-chart-sequential-5:#25508b;--color-chart-diverging-low-strong:#2b5da1;--color-chart-diverging-low-soft:#9ec2f3;--color-chart-diverging-center:var(--color-accent);--color-chart-diverging-high-soft:#f9d99f;--color-chart-diverging-high-strong:#aa7d2c;--color-dropzone:#71c29a0a;--color-dropzone-active:#71c29a14;--color-theme-switcher-track:var(--color-control);--color-theme-switcher-track-hover:var(--color-control-hover);--color-switch-track-on:var(--color-primary);--color-switch-track-on-hover:var(--color-primary-hover);--color-switch-track-on-pressed:var(--color-primary-pressed);--color-switch-thumb:var(--color-card);--color-theme-switcher-thumb:var(--color-switch-thumb);--color-theme-switcher-icon:var(--color-foreground);--color-theme-switcher-focus:var(--color-ring);--font-family-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-display:620;--font-weight-page:640;--text-display-hero-letter-spacing:-.03em;--text-display-large-letter-spacing:-.025em;--text-display-medium-letter-spacing:-.02em;--text-display-small-letter-spacing:-.015em;--text-heading-1-letter-spacing:-.0125em;--text-heading-2-letter-spacing:-.0075em;--text-heading-3-letter-spacing:-.005em;--text-label-size:13px;--text-label-line-height:16px;--text-label-small-size:12px;--text-label-small-line-height:16px;--text-label-compact-size:11px;--text-label-compact-line-height:16px;--text-ui-size:14px;--text-ui-line-height:18px;--space-0:0;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--size-control-minimum:20px;--size-control-compact:24px;--size-control-default:28px;--size-control-comfortable:32px;--size-control-large:40px;--size-icon-xsmall:12px;--size-icon-small:14px;--size-icon-default:16px;--size-icon-medium:18px;--size-icon-large:20px;--size-icon-xlarge:24px;--size-icon-display:28px;--size-avatar-small:24px;--size-avatar-default:32px;--size-avatar-large:40px;--size-target-minimum:20px;--size-target-compact:24px;--size-target-default:28px;--size-target-comfortable:32px;--size-target-touch:40px;--size-target-enhanced:44px;--radius-none:0;--radius-xsmall:4px;--radius-small:6px;--radius-medium:8px;--radius-large:12px;--radius-xlarge:16px;--radius-2xlarge:20px;--radius-full:9999px;--focus-width:1.5px;--focus-gap:1px;--motion-duration-none:0s;--motion-duration-fast:.12s;--motion-duration-standard:.16s;--motion-duration-moderate:.22s;--motion-duration-slow:.32s;--motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--motion-easing-enter:cubic-bezier(.16, 1, .3, 1);--motion-easing-exit:cubic-bezier(.4, 0, 1, 1);--motion-easing-linear:linear;--motion-spring-snappy-duration:.28s;--motion-spring-snappy-bounce:0;--motion-spring-spatial-duration:.4s;--motion-spring-spatial-bounce:.1;--elevation-none:none;--elevation-low:0 1px 2px #2421230f;--elevation-surface:0 2px 8px #2421230d;--elevation-raised:0 8px 24px #2421231a;--elevation-overlay:0 16px 42px #24212324;--elevation-modal:0 24px 70px #24212333;--layout-shell-height:48px;--layout-shell-interactive-band:40px;--layout-workspace-inset:8px;--layout-workspace-inset-mobile:0px;--layout-workspace-gap:8px;--layout-workspace-divider-width:1px;--layout-workspace-divider-target:8px;--breakpoint-workspace-single:700px;--breakpoint-workspace-expanded:1024px;--layout-panel-navigation-compact:210px;--layout-panel-navigation-default:244px;--layout-panel-primary-min:480px;--layout-panel-primary-min-compact:400px;--layout-split-workspace-primary:60%;--layout-split-workspace-secondary:40%;--layout-content-analysis:732px;--layout-content-composer:710px;--layout-content-reading:632px;--layout-page-projects-max:1120px;--layout-page-projects-top:32px;--layout-page-gutter-desktop:32px;--layout-page-gutter-tablet:24px;--layout-page-gutter-mobile:16px;--z-base:0;--z-raised:10;--z-sticky:20;--z-popover:30;--z-overlay:40;--z-dialog:50;--z-toast:60;--z-tooltip:70;--z-drag:80}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0d0d0d;--color-surface:#131313;--color-surface-foreground:#f0edee;--color-card:#171717;--color-card-foreground:#f0edee;--color-popover:#202020;--color-popover-foreground:#f0edee;--color-foreground:#f0edee;--color-foreground-strong:#fff;--color-foreground-secondary:#f0edee9e;--color-muted:#151515;--color-muted-foreground:#a7a3a5;--color-message-user:#282828;--color-brand:#71c29a;--color-brand-foreground:#13251b;--color-brand-hover:#83cba7;--color-brand-strong:#83cba7;--color-brand-pressed:#83cba7;--color-brand-subtle:#24332b;--color-brand-bloom:#83cba7;--color-primary:#e5e2e3;--color-primary-foreground:#242123;--color-tooltip:var(--color-foreground);--color-tooltip-foreground:var(--color-primary-foreground);--color-primary-hover:#fff;--color-primary-strong:#fff;--color-primary-pressed:#c5bfc2;--color-primary-subtle:#303030;--color-secondary:#202020;--color-secondary-foreground:#f0edee;--color-secondary-hover:#282828;--color-secondary-pressed:#303030;--color-control:#202020;--color-control-hover:#282828;--color-accent:#202020;--color-accent-foreground:#f0edee;--color-state-hover:#202020;--color-state-selected:#282828;--color-state-disabled:#f0edee6b;--color-dropdown-menu-item-hover:#ffffff12;--color-icon:var(--color-foreground-secondary);--color-icon-strong:var(--color-foreground);--color-border:#ffffff14;--color-border-subtle:#ffffff12;--color-border-soft:#ffffff0f;--color-border-hover:#ffffff2e;--color-input:var(--color-border);--color-input-hover:#ffffff1f;--color-overlay:#00000094;--color-input-disabled:#ffffff0f;--color-input-focus:#ffffff5c;--color-input-placeholder:#f0edee80;--color-state-hover-overlay:var(--color-secondary);--color-ring:#83cba7;--color-success:var(--color-brand);--color-success-foreground:var(--color-brand-foreground);--color-success-strong:var(--color-brand-strong);--color-success-subtle:var(--color-brand-subtle);--color-success-subtle-foreground:var(--color-brand-strong);--color-warning:#30240d;--color-warning-foreground:#f8ca79;--color-warning-hover:#483513;--color-warning-pressed:#614819;--color-warning-strong:#f3b33f;--color-warning-subtle:#181106;--color-information:#0c1b2e;--color-information-foreground:#9ec2f3;--color-information-hover:#112845;--color-information-pressed:#18355c;--color-information-strong:#3d84e7;--color-information-subtle:#060c17;--color-destructive:#2d211f;--color-destructive-foreground:#ffb5aa;--color-destructive-hover:#362724;--color-destructive-pressed:#3e2c29;--color-destructive-strong:#ffb5aa;--color-destructive-subtle:var(--color-destructive);--color-link:#71c29a;--color-link-hover:#83cba7;--color-link-pressed:#5bb487;--color-link-focus:var(--color-ring);--color-chart-1:#5191e8;--color-chart-2:#ed725b;--color-chart-3:#67c07f;--color-chart-4:#9d70e3;--color-chart-5:#f4bb52;--color-chart-grid:var(--color-border-soft);--color-chart-axis:var(--color-muted-foreground);--color-chart-label:var(--color-foreground-secondary);--color-chart-tooltip:var(--color-popover);--color-chart-tooltip-foreground:var(--color-popover-foreground);--color-chart-sequential-1:#112845;--color-chart-sequential-2:#18355c;--color-chart-sequential-3:#2b5da1;--color-chart-sequential-4:#3d84e7;--color-chart-sequential-5:#78aaee;--color-chart-diverging-low-strong:#5191e8;--color-chart-diverging-low-soft:#18355c;--color-chart-diverging-center:var(--color-accent);--color-chart-diverging-high-soft:#614819;--color-chart-diverging-high-strong:#f4bb52;--color-theme-switcher-track:var(--color-control);--color-theme-switcher-track-hover:var(--color-control-hover);--color-switch-track-on:var(--color-control);--color-switch-track-on-hover:var(--color-control-hover);--color-switch-track-on-pressed:var(--color-secondary-pressed);--color-switch-thumb:#484848;--color-theme-switcher-thumb:var(--color-switch-thumb);--color-theme-switcher-icon:var(--color-foreground);--color-theme-switcher-focus:var(--color-ring);--elevation-low:0 1px 2px #0000003d;--elevation-surface:0 2px 8px #0003;--elevation-raised:0 8px 24px #00000047;--elevation-overlay:0 16px 42px #0000005c;--elevation-modal:0 24px 70px #00000070}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0d0d0d;--color-surface:#131313;--color-surface-foreground:#f0edee;--color-card:#171717;--color-card-foreground:#f0edee;--color-popover:#202020;--color-popover-foreground:#f0edee;--color-foreground:#f0edee;--color-foreground-strong:#fff;--color-foreground-secondary:#f0edee9e;--color-muted:#151515;--color-muted-foreground:#a7a3a5;--color-message-user:#282828;--color-brand:#71c29a;--color-brand-foreground:#13251b;--color-brand-hover:#83cba7;--color-brand-strong:#83cba7;--color-brand-pressed:#83cba7;--color-brand-subtle:#24332b;--color-brand-bloom:#83cba7;--color-primary:#e5e2e3;--color-primary-foreground:#242123;--color-tooltip:var(--color-foreground);--color-tooltip-foreground:var(--color-primary-foreground);--color-primary-hover:#fff;--color-primary-strong:#fff;--color-primary-pressed:#c5bfc2;--color-primary-subtle:#303030;--color-secondary:#202020;--color-secondary-foreground:#f0edee;--color-secondary-hover:#282828;--color-secondary-pressed:#303030;--color-control:#202020;--color-control-hover:#282828;--color-accent:#202020;--color-accent-foreground:#f0edee;--color-state-hover:#202020;--color-state-selected:#282828;--color-state-disabled:#f0edee6b;--color-dropdown-menu-item-hover:#ffffff12;--color-icon:var(--color-foreground-secondary);--color-icon-strong:var(--color-foreground);--color-border:#ffffff14;--color-border-subtle:#ffffff12;--color-border-soft:#ffffff0f;--color-border-hover:#ffffff2e;--color-input:var(--color-border);--color-input-hover:#ffffff1f;--color-overlay:#00000094;--color-input-disabled:#ffffff0f;--color-input-focus:#ffffff5c;--color-input-placeholder:#f0edee80;--color-state-hover-overlay:var(--color-secondary);--color-ring:#83cba7;--color-success:var(--color-brand);--color-success-foreground:var(--color-brand-foreground);--color-success-strong:var(--color-brand-strong);--color-success-subtle:var(--color-brand-subtle);--color-success-subtle-foreground:var(--color-brand-strong);--color-warning:#30240d;--color-warning-foreground:#f8ca79;--color-warning-hover:#483513;--color-warning-pressed:#614819;--color-warning-strong:#f3b33f;--color-warning-subtle:#181106;--color-information:#0c1b2e;--color-information-foreground:#9ec2f3;--color-information-hover:#112845;--color-information-pressed:#18355c;--color-information-strong:#3d84e7;--color-information-subtle:#060c17;--color-destructive:#2d211f;--color-destructive-foreground:#ffb5aa;--color-destructive-hover:#362724;--color-destructive-pressed:#3e2c29;--color-destructive-strong:#ffb5aa;--color-destructive-subtle:var(--color-destructive);--color-link:#71c29a;--color-link-hover:#83cba7;--color-link-pressed:#5bb487;--color-link-focus:var(--color-ring);--color-chart-1:#5191e8;--color-chart-2:#ed725b;--color-chart-3:#67c07f;--color-chart-4:#9d70e3;--color-chart-5:#f4bb52;--color-chart-grid:var(--color-border-soft);--color-chart-axis:var(--color-muted-foreground);--color-chart-label:var(--color-foreground-secondary);--color-chart-tooltip:var(--color-popover);--color-chart-tooltip-foreground:var(--color-popover-foreground);--color-chart-sequential-1:#112845;--color-chart-sequential-2:#18355c;--color-chart-sequential-3:#2b5da1;--color-chart-sequential-4:#3d84e7;--color-chart-sequential-5:#78aaee;--color-chart-diverging-low-strong:#5191e8;--color-chart-diverging-low-soft:#18355c;--color-chart-diverging-center:var(--color-accent);--color-chart-diverging-high-soft:#614819;--color-chart-diverging-high-strong:#f4bb52;--color-theme-switcher-track:var(--color-control);--color-theme-switcher-track-hover:var(--color-control-hover);--color-switch-track-on:var(--color-control);--color-switch-track-on-hover:var(--color-control-hover);--color-switch-track-on-pressed:var(--color-secondary-pressed);--color-switch-thumb:#484848;--color-theme-switcher-thumb:var(--color-switch-thumb);--color-theme-switcher-icon:var(--color-foreground);--color-theme-switcher-focus:var(--color-ring);--elevation-low:0 1px 2px #0000003d;--elevation-surface:0 2px 8px #0003;--elevation-raised:0 8px 24px #00000047;--elevation-overlay:0 16px 42px #0000005c;--elevation-modal:0 24px 70px #00000070}}:root,[data-theme]{--color-launcher-card-background:var(--color-card);--color-launcher-card-background-hover:var(--color-card);--color-launcher-card-icon-background:var(--color-secondary)}.mithrl-button{--button-background:var(--color-primary);--button-foreground:var(--color-primary-foreground);--button-border:transparent;--button-hover-background:var(--color-primary-hover);--button-hover-foreground:var(--color-primary-foreground);--button-hover-border:transparent;--button-pressed-background:var(--color-primary-pressed);--button-pressed-foreground:var(--color-primary-foreground);--button-pressed-border:transparent;--button-focus-ring:var(--color-ring);--button-height:var(--size-control-default);--button-padding-inline:var(--space-10);--button-icon-size:var(--size-icon-default);--button-font-size:var(--text-label-size);--button-line-height:var(--text-label-line-height);isolation:isolate;box-sizing:border-box;width:fit-content;height:var(--button-height);min-width:max-content;padding:0 var(--button-padding-inline);border:1px solid var(--button-border);border-radius:var(--radius-full);background:var(--button-background);color:var(--button-foreground);box-shadow:none;font-family:var(--font-family-sans);font-size:var(--button-font-size);font-weight:var(--font-weight-medium);font-kerning:normal;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;line-height:var(--button-line-height);letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), border-color var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard);justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.mithrl-button__content{z-index:1;justify-content:center;align-items:center;gap:var(--space-6);min-width:max-content;display:inline-flex;position:relative}.mithrl-button__label{white-space:nowrap}.mithrl-button__icon{flex:0 0 var(--button-icon-size);width:var(--button-icon-size);height:var(--button-icon-size);justify-content:center;align-items:center;display:inline-flex}.mithrl-button__icon>svg{width:100%;height:100%;display:block}.mithrl-button__spinner{z-index:2;width:var(--button-spinner-size);height:var(--button-spinner-size);animation:mithrl-button-spin 1s var(--motion-easing-linear) infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mithrl-button[data-loading] .mithrl-button__content{opacity:0}.mithrl-button[data-loading]{cursor:wait}.mithrl-button:hover:not(:disabled):not([data-loading]),.mithrl-button[data-preview-state=hover]:not(:disabled):not([data-loading]){border-color:var(--button-hover-border);background:var(--button-hover-background);color:var(--button-hover-foreground)}.mithrl-button:active:not(:disabled):not([data-loading]),.mithrl-button[data-preview-state=pressed]:not(:disabled):not([data-loading]){border-color:var(--button-pressed-border);background:var(--button-pressed-background);color:var(--button-pressed-foreground)}.mithrl-button:focus{outline:none}.mithrl-button:focus-visible:not([data-loading]),.mithrl-button[data-preview-state=focus]:not([data-loading]){outline:var(--focus-width) solid var(--button-focus-ring);outline-offset:var(--focus-gap)}.mithrl-button:disabled:not([data-loading]),.mithrl-button[data-preview-state=disabled]:not([data-loading]){--button-background:var(--color-muted);--button-foreground:var(--color-state-disabled);--button-border:transparent;box-shadow:none;cursor:not-allowed}.mithrl-button--compact{--button-height:var(--size-control-compact);--button-padding-inline:var(--space-8);--button-icon-size:var(--size-icon-small);--button-font-size:var(--text-label-small-size);--button-line-height:var(--text-label-small-line-height)}.mithrl-button--default{--button-height:var(--size-control-default);--button-padding-inline:var(--space-10);--button-icon-size:var(--size-icon-default)}.mithrl-button--comfortable{--button-height:var(--size-control-comfortable);--button-padding-inline:var(--space-12);--button-icon-size:var(--size-icon-default)}.mithrl-button--large{--button-height:var(--size-control-large);--button-padding-inline:var(--space-16);--button-icon-size:var(--size-icon-medium);--button-font-size:var(--text-ui-size);--button-line-height:var(--text-ui-line-height)}.mithrl-button--brand{--button-background:var(--color-brand);--button-foreground:var(--color-brand-foreground);--button-hover-background:var(--color-brand-hover);--button-hover-foreground:var(--color-brand-foreground);--button-pressed-background:var(--color-brand-pressed);--button-pressed-foreground:var(--color-brand-foreground)}.mithrl-button--brand:before{z-index:0;background:var(--color-brand-bloom);filter:blur(14px)saturate(1.65);mix-blend-mode:screen;opacity:0;content:"";pointer-events:none;width:48px;height:48px;transition:opacity var(--motion-duration-standard) var(--motion-easing-standard), left var(--motion-duration-standard) var(--motion-easing-standard), transform var(--motion-duration-standard) var(--motion-easing-standard);border-radius:50%;position:absolute;top:50%;left:-24px;transform:translateY(-50%)}.mithrl-button--brand:hover:not(:disabled):not([data-loading]):before,.mithrl-button--brand[data-preview-state=hover]:not(:disabled):not([data-loading]):before{opacity:.72;left:50%;transform:translate(-50%,-50%)}.mithrl-button--brand:active:not(:disabled):not([data-loading]):before,.mithrl-button--brand[data-preview-state=pressed]:not(:disabled):not([data-loading]):before{opacity:.42;left:82%;transform:translate(-50%,-50%)}.mithrl-button--secondary{--button-background:var(--color-secondary);--button-foreground:var(--color-secondary-foreground);--button-hover-background:var(--color-secondary-hover);--button-hover-foreground:var(--color-secondary-foreground);--button-pressed-background:var(--color-secondary-pressed);--button-pressed-foreground:var(--color-secondary-foreground);--button-shadow:var(--elevation-low);box-shadow:var(--button-shadow)}.mithrl-button--outline{--button-background:transparent;--button-foreground:var(--color-foreground);--button-border:var(--color-border);--button-hover-background:var(--color-state-hover);--button-hover-foreground:var(--color-foreground);--button-hover-border:var(--color-border-hover);--button-pressed-background:var(--color-state-selected);--button-pressed-foreground:var(--color-foreground);--button-pressed-border:var(--color-border-hover)}.mithrl-button--ghost{--button-background:transparent;--button-foreground:var(--color-foreground);--button-hover-background:var(--color-state-hover);--button-hover-foreground:var(--color-foreground);--button-pressed-background:var(--color-state-selected);--button-pressed-foreground:var(--color-foreground)}.mithrl-button--destructive{--button-background:var(--color-destructive);--button-foreground:var(--color-destructive-foreground);--button-hover-background:var(--color-destructive-hover);--button-hover-foreground:var(--color-destructive-foreground);--button-pressed-background:var(--color-destructive-pressed);--button-pressed-foreground:var(--color-destructive-foreground);--button-focus-ring:var(--color-destructive-strong)}.mithrl-button--text{--button-background:transparent;--button-foreground:var(--color-link);--button-hover-background:transparent;--button-hover-foreground:var(--color-link-hover);--button-pressed-background:transparent;--button-pressed-foreground:var(--color-link-pressed);--button-focus-ring:var(--color-link-focus)}.mithrl-button--outline:disabled:not([data-loading]),.mithrl-button--outline[data-preview-state=disabled]:not([data-loading]),.mithrl-button--ghost:disabled:not([data-loading]),.mithrl-button--ghost[data-preview-state=disabled]:not([data-loading]),.mithrl-button--text:disabled:not([data-loading]),.mithrl-button--text[data-preview-state=disabled]:not([data-loading]){--button-background:transparent;--button-foreground:var(--color-state-disabled)}.mithrl-button--outline:disabled:not([data-loading]),.mithrl-button--outline[data-preview-state=disabled]:not([data-loading]){--button-border:var(--color-input-disabled)}@keyframes mithrl-button-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mithrl-button{transition-duration:var(--motion-duration-fast)}.mithrl-button--brand:before{display:none}.mithrl-button__spinner{animation:none}}.mithrl-icon{--icon-size:var(--size-icon-default);flex:0 0 var(--icon-size);width:var(--icon-size);height:var(--icon-size);justify-content:center;align-items:center;line-height:0;display:inline-flex}.mithrl-icon>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.mithrl-icon--xsmall{--icon-size:var(--size-icon-xsmall)}.mithrl-icon--small{--icon-size:var(--size-icon-small)}.mithrl-icon--default{--icon-size:var(--size-icon-default)}.mithrl-icon--medium{--icon-size:var(--size-icon-medium)}.mithrl-icon--large{--icon-size:var(--size-icon-large)}.mithrl-icon-button{--icon-button-background:var(--color-primary);--icon-button-foreground:var(--color-primary-foreground);--icon-button-border:transparent;--icon-button-hover-background:var(--color-primary-hover);--icon-button-hover-foreground:var(--color-primary-foreground);--icon-button-hover-border:transparent;--icon-button-pressed-background:var(--color-primary-pressed);--icon-button-pressed-foreground:var(--color-primary-foreground);--icon-button-pressed-border:transparent;--icon-button-focus-ring:var(--color-ring);--icon-button-size:var(--size-control-default);isolation:isolate;box-sizing:border-box;width:var(--icon-button-size);height:var(--icon-button-size);min-width:var(--icon-button-size);min-height:var(--icon-button-size);border:1px solid var(--icon-button-border);border-radius:var(--radius-full);background:var(--icon-button-background);color:var(--icon-button-foreground);cursor:pointer;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), border-color var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative;overflow:hidden}.mithrl-icon-button>.mithrl-icon{z-index:1;position:relative}.mithrl-icon-button__spinner{z-index:2;width:var(--icon-button-spinner-size);height:var(--icon-button-spinner-size);animation:mithrl-icon-button-spin 1s var(--motion-easing-linear) infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mithrl-icon-button[data-loading]{cursor:wait}.mithrl-icon-button:hover:not(:disabled):not([data-loading]),.mithrl-icon-button[data-preview-state=hover]:not(:disabled):not([data-loading]){border-color:var(--icon-button-hover-border);background:var(--icon-button-hover-background);color:var(--icon-button-hover-foreground)}.mithrl-icon-button:active:not(:disabled):not([data-loading]),.mithrl-icon-button[data-preview-state=pressed]:not(:disabled):not([data-loading]){border-color:var(--icon-button-pressed-border);background:var(--icon-button-pressed-background);color:var(--icon-button-pressed-foreground)}.mithrl-icon-button:focus{outline:none}.mithrl-icon-button:focus-visible:not([data-loading]),.mithrl-icon-button[data-preview-state=focus]:not([data-loading]){outline:var(--focus-width) solid var(--icon-button-focus-ring);outline-offset:var(--focus-gap)}.mithrl-icon-button:disabled:not([data-loading]),.mithrl-icon-button[data-preview-state=disabled]:not([data-loading]){--icon-button-background:var(--color-muted);--icon-button-foreground:var(--color-state-disabled);--icon-button-border:transparent;box-shadow:none;cursor:not-allowed}.mithrl-icon-button--compact{--icon-button-size:var(--size-control-compact)}.mithrl-icon-button--default{--icon-button-size:var(--size-control-default)}.mithrl-icon-button--comfortable{--icon-button-size:var(--size-control-comfortable)}.mithrl-icon-button--large{--icon-button-size:var(--size-control-large)}.mithrl-icon-button--brand{--icon-button-background:var(--color-brand);--icon-button-foreground:var(--color-brand-foreground);--icon-button-hover-background:var(--color-brand-hover);--icon-button-hover-foreground:var(--color-brand-foreground);--icon-button-pressed-background:var(--color-brand-pressed);--icon-button-pressed-foreground:var(--color-brand-foreground)}.mithrl-icon-button--brand:before{z-index:0;background:var(--color-brand-bloom);filter:blur(14px)saturate(1.65);mix-blend-mode:screen;opacity:0;content:"";pointer-events:none;width:140%;height:140%;transition:opacity var(--motion-duration-standard) var(--motion-easing-standard), transform var(--motion-duration-standard) var(--motion-easing-standard);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.mithrl-icon-button--brand:hover:not(:disabled):not([data-loading]):before,.mithrl-icon-button--brand[data-preview-state=hover]:not(:disabled):not([data-loading]):before{opacity:.72;transform:translate(-50%,-50%)scale(1)}.mithrl-icon-button--brand:active:not(:disabled):not([data-loading]):before,.mithrl-icon-button--brand[data-preview-state=pressed]:not(:disabled):not([data-loading]):before{opacity:.42;transform:translate(-50%,-50%)scale(.85)}.mithrl-icon-button--secondary{--icon-button-background:var(--color-secondary);--icon-button-foreground:var(--color-secondary-foreground);--icon-button-hover-background:var(--color-secondary-hover);--icon-button-hover-foreground:var(--color-secondary-foreground);--icon-button-pressed-background:var(--color-secondary-pressed);--icon-button-pressed-foreground:var(--color-secondary-foreground);--icon-button-shadow:var(--elevation-low);box-shadow:var(--icon-button-shadow)}.mithrl-icon-button--outline{--icon-button-background:transparent;--icon-button-foreground:var(--color-foreground);--icon-button-border:var(--color-border);--icon-button-hover-background:var(--color-state-hover);--icon-button-hover-foreground:var(--color-foreground);--icon-button-hover-border:var(--color-border-hover);--icon-button-pressed-background:var(--color-state-selected);--icon-button-pressed-foreground:var(--color-foreground);--icon-button-pressed-border:var(--color-border-hover)}.mithrl-icon-button--ghost{--icon-button-background:transparent;--icon-button-foreground:var(--color-foreground);--icon-button-hover-background:var(--color-state-hover);--icon-button-hover-foreground:var(--color-foreground);--icon-button-pressed-background:var(--color-state-selected);--icon-button-pressed-foreground:var(--color-foreground)}.mithrl-icon-button--destructive{--icon-button-background:var(--color-destructive);--icon-button-foreground:var(--color-destructive-foreground);--icon-button-hover-background:var(--color-destructive-hover);--icon-button-hover-foreground:var(--color-destructive-foreground);--icon-button-pressed-background:var(--color-destructive-pressed);--icon-button-pressed-foreground:var(--color-destructive-foreground);--icon-button-focus-ring:var(--color-destructive-strong)}.mithrl-icon-button--outline:disabled:not([data-loading]),.mithrl-icon-button--outline[data-preview-state=disabled]:not([data-loading]),.mithrl-icon-button--ghost:disabled:not([data-loading]),.mithrl-icon-button--ghost[data-preview-state=disabled]:not([data-loading]){--icon-button-background:transparent;--icon-button-foreground:var(--color-state-disabled)}.mithrl-icon-button--outline:disabled:not([data-loading]),.mithrl-icon-button--outline[data-preview-state=disabled]:not([data-loading]){--icon-button-border:var(--color-input-disabled)}@keyframes mithrl-icon-button-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mithrl-icon-button{transition-duration:var(--motion-duration-fast)}.mithrl-icon-button--brand:before{display:none}.mithrl-icon-button__spinner{animation:none}}.mithrl-segmented-tabs{--segmented-tabs-item-height:var(--size-control-default);--segmented-tabs-item-padding:var(--space-12);--segmented-tabs-item-radius:var(--radius-medium);--segmented-tabs-track-radius:10px;--segmented-tabs-font-size:var(--text-label-size);--segmented-tabs-line-height:var(--text-label-line-height);--segmented-tabs-indicator-width:0px;--segmented-tabs-indicator-x:0px;gap:var(--space-2);box-sizing:border-box;width:max-content;max-width:100%;padding:var(--space-2);border-radius:var(--segmented-tabs-track-radius);background:var(--color-primary-subtle);color:var(--color-muted-foreground);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:center;display:inline-grid;position:relative}.mithrl-segmented-tabs__indicator{z-index:0;top:var(--space-2);width:var(--segmented-tabs-indicator-width);height:var(--segmented-tabs-item-height);border-radius:var(--segmented-tabs-item-radius);background:var(--color-card);box-shadow:var(--elevation-low);opacity:0;pointer-events:none;transform:translateX(var(--segmented-tabs-indicator-x));transition:transform var(--motion-spring-snappy-duration) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard);position:absolute;left:0}.mithrl-segmented-tabs[data-indicator-ready] .mithrl-segmented-tabs__indicator{opacity:1}.mithrl-segmented-tabs__tab{z-index:1;box-sizing:border-box;width:100%;min-width:0;height:var(--segmented-tabs-item-height);justify-content:center;align-items:center;gap:var(--space-6);padding:0 var(--segmented-tabs-item-padding);border-radius:var(--segmented-tabs-item-radius);color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--segmented-tabs-font-size);font-weight:var(--font-weight-medium);line-height:var(--segmented-tabs-line-height);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard);background:0 0;border:0;margin:0;display:inline-flex;position:relative}.mithrl-segmented-tabs__tab:hover:not(:disabled):not([data-selected]),.mithrl-segmented-tabs[data-preview-state=hover] .mithrl-segmented-tabs__tab:not(:disabled):not([data-selected]){background:var(--color-state-hover)}.mithrl-segmented-tabs__tab:hover:not(:disabled)[data-selected],.mithrl-segmented-tabs[data-preview-state=hover] .mithrl-segmented-tabs__tab:not(:disabled)[data-selected],.mithrl-segmented-tabs[data-indicator-ready][data-preview-state=hover] .mithrl-segmented-tabs__indicator{box-shadow:var(--elevation-surface)}.mithrl-segmented-tabs[data-indicator-ready]:has(.mithrl-segmented-tabs__tab:hover:not(:disabled)[data-selected]) .mithrl-segmented-tabs__indicator{box-shadow:var(--elevation-surface)}.mithrl-segmented-tabs__tab:active:not(:disabled),.mithrl-segmented-tabs[data-preview-state=pressed] .mithrl-segmented-tabs__tab:not(:disabled),.mithrl-segmented-tabs[data-indicator-ready][data-preview-state=pressed] .mithrl-segmented-tabs__indicator{background:var(--color-state-selected);box-shadow:none}.mithrl-segmented-tabs[data-indicator-ready]:has(.mithrl-segmented-tabs__tab:active:not(:disabled)[data-selected]) .mithrl-segmented-tabs__indicator{background:var(--color-state-selected);box-shadow:none}.mithrl-segmented-tabs__tab:focus{outline:none}.mithrl-segmented-tabs__tab:focus-visible,.mithrl-segmented-tabs[data-preview-state=focus] .mithrl-segmented-tabs__tab:not(:disabled){outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-segmented-tabs__tab[data-selected]{background:var(--color-card);color:var(--color-foreground);box-shadow:var(--elevation-low)}.mithrl-segmented-tabs[data-indicator-ready] .mithrl-segmented-tabs__tab[data-selected]{box-shadow:none;background:0 0}.mithrl-segmented-tabs__tab:disabled{color:var(--color-state-disabled);cursor:not-allowed}.mithrl-segmented-tabs__tab:disabled[data-selected]{background:var(--color-card);box-shadow:none}.mithrl-segmented-tabs[data-indicator-ready]:has(.mithrl-segmented-tabs__tab:disabled[data-selected]) .mithrl-segmented-tabs__indicator{box-shadow:none}.mithrl-segmented-tabs__icon{color:currentColor}.mithrl-segmented-tabs__label{text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden}.mithrl-segmented-tabs__label[data-overflowing]{-webkit-mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);-webkit-mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%)}.mithrl-segmented-tabs__label[data-overflowing]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){-webkit-mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);-webkit-mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%)}.mithrl-segmented-tabs__badge{min-width:16px;height:16px;padding-inline:var(--space-4);border-radius:var(--radius-full);background:var(--color-state-selected);color:var(--color-muted-foreground);font-size:11px;font-weight:var(--font-weight-medium);flex:none;justify-content:center;align-items:center;line-height:16px;display:inline-flex}.mithrl-segmented-tabs__tab:disabled .mithrl-segmented-tabs__badge{color:var(--color-state-disabled)}.mithrl-segmented-tabs--sm{--segmented-tabs-item-height:var(--size-control-compact);--segmented-tabs-item-padding:var(--space-10);--segmented-tabs-item-radius:var(--radius-small);--segmented-tabs-track-radius:var(--radius-medium);--segmented-tabs-font-size:var(--text-label-small-size);--segmented-tabs-line-height:var(--text-label-small-line-height)}.mithrl-segmented-tabs--lg{--segmented-tabs-item-height:var(--size-control-comfortable);--segmented-tabs-item-padding:var(--space-16);--segmented-tabs-item-radius:10px;--segmented-tabs-track-radius:var(--radius-large);--segmented-tabs-font-size:var(--text-ui-size);--segmented-tabs-line-height:var(--text-ui-line-height)}.mithrl-segmented-tabs[data-full-width]{width:100%;display:grid}@media (prefers-reduced-motion:reduce){.mithrl-segmented-tabs__indicator{transition:none}.mithrl-segmented-tabs__tab{transition-duration:var(--motion-duration-fast)}}.mithrl-panel-tabs{box-sizing:border-box;width:100%;max-width:100%;min-height:var(--size-control-default);align-items:center;gap:var(--space-2);color:var(--color-muted-foreground);scrollbar-width:none;scroll-padding-inline:var(--space-4);overscroll-behavior-inline:contain;display:flex;overflow:auto hidden}.mithrl-panel-tabs::-webkit-scrollbar{display:none}.mithrl-panel-tabs__item{box-sizing:border-box;width:max-content;min-width:72px;max-width:240px;height:var(--size-control-default);border-radius:var(--radius-medium);transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard);background:0 0;flex:0 auto;align-items:center;display:inline-flex;position:relative}.mithrl-panel-tabs__item:not(:last-child):after{z-index:0;top:var(--space-6);width:1px;height:var(--size-icon-default);background:var(--color-border);content:"";pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard);position:absolute;inset-inline-end:calc(var(--space-2) * -1)}.mithrl-panel-tabs__item[data-selected],.mithrl-panel-tabs__item:hover{color:var(--color-foreground)}.mithrl-panel-tabs__item[data-selected]{background:var(--color-primary-subtle)}.mithrl-panel-tabs__item:hover:not([data-selected]){background:var(--color-state-hover)}.mithrl-panel-tabs__item:active{background:var(--color-state-selected)}.mithrl-panel-tabs__item[data-selected]:after{opacity:0}.mithrl-panel-tabs__item:has(+.mithrl-panel-tabs__item[data-selected]):after{opacity:0}.mithrl-panel-tabs__item:has(.mithrl-panel-tabs__tab:focus-visible){outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-panel-tabs__tab{z-index:1;box-sizing:border-box;align-items:center;gap:var(--space-8);width:100%;min-width:0;height:100%;padding:0 var(--space-12);border-radius:inherit;color:inherit;font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);line-height:var(--text-label-line-height);text-align:start;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:auto;margin:0;padding-inline-start:var(--space-8);display:inline-flex;position:relative;overflow:hidden}.mithrl-panel-tabs__item[data-closable] .mithrl-panel-tabs__tab{padding-inline-end:var(--space-32)}.mithrl-panel-tabs__tab:focus{outline:none}.mithrl-panel-tabs__icon{color:var(--color-icon-strong);flex:none}.mithrl-panel-tabs__label{text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden}.mithrl-panel-tabs__label[data-truncated]{-webkit-mask-image:linear-gradient(to right, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%);-webkit-mask-image:linear-gradient(to right, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%);mask-image:linear-gradient(to right, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mithrl-panel-tabs__label[data-truncated][data-direction=rtl]{-webkit-mask-image:linear-gradient(to left, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%);-webkit-mask-image:linear-gradient(to left, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%);mask-image:linear-gradient(to left, var(--color-foreground) 0, var(--color-foreground) calc(100% - var(--space-12)), transparent 100%)}.mithrl-panel-tabs__close{z-index:2;top:var(--space-4);box-sizing:border-box;width:var(--size-target-minimum);height:var(--size-target-minimum);border-radius:var(--radius-medium);color:var(--color-icon);opacity:0;pointer-events:none;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard), opacity var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;inset-inline-end:var(--space-2)}.mithrl-panel-tabs__item[data-selected] .mithrl-panel-tabs__close,.mithrl-panel-tabs__item:hover .mithrl-panel-tabs__close,.mithrl-panel-tabs__item:focus-within .mithrl-panel-tabs__close{opacity:1;pointer-events:auto}.mithrl-panel-tabs__close:hover{background:var(--color-state-hover);color:var(--color-icon-strong)}.mithrl-panel-tabs__close:active{background:var(--color-state-selected)}.mithrl-panel-tabs__close:focus{outline:none}.mithrl-panel-tabs__close:focus-visible{outline:var(--focus-width) solid var(--color-ring);outline-offset:0}@media (prefers-reduced-motion:reduce){.mithrl-panel-tabs__item,.mithrl-panel-tabs__item:after,.mithrl-panel-tabs__close{transition-duration:var(--motion-duration-none)}}.mithrl-switch{box-sizing:border-box;width:var(--size-target-enhanced);height:var(--size-target-enhanced);min-width:var(--size-target-enhanced);min-height:var(--size-target-enhanced);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;place-items:center;margin:0;padding:0;display:inline-grid;position:relative}.mithrl-switch__track{box-sizing:border-box;width:var(--size-control-large);height:var(--size-control-compact);border-radius:var(--radius-full);background:var(--color-control);transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), opacity var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard);display:block;position:relative}.mithrl-switch__thumb{width:var(--size-icon-medium);height:var(--size-icon-medium);border-radius:var(--radius-full);background:var(--color-switch-thumb);transition:inset-inline-start var(--motion-duration-moderate) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard);display:block;position:absolute;inset-block-start:3px;inset-inline-start:3px}.mithrl-switch[data-checked] .mithrl-switch__track{background:var(--color-switch-track-on)}.mithrl-switch[data-checked] .mithrl-switch__thumb{inset-inline-start:19px}.mithrl-switch:hover:not(:disabled) .mithrl-switch__track,.mithrl-switch[data-preview-state=hover]:not(:disabled) .mithrl-switch__track{background:var(--color-control-hover)}.mithrl-switch[data-checked]:hover:not(:disabled) .mithrl-switch__track,.mithrl-switch[data-checked][data-preview-state=hover]:not(:disabled) .mithrl-switch__track{background:var(--color-switch-track-on-hover)}.mithrl-switch:active:not(:disabled) .mithrl-switch__track,.mithrl-switch[data-preview-state=pressed]:not(:disabled) .mithrl-switch__track{background:var(--color-secondary-pressed)}.mithrl-switch[data-checked]:active:not(:disabled) .mithrl-switch__track,.mithrl-switch[data-checked][data-preview-state=pressed]:not(:disabled) .mithrl-switch__track{background:var(--color-switch-track-on-pressed)}.mithrl-switch:focus{outline:none}.mithrl-switch:focus-visible .mithrl-switch__track,.mithrl-switch[data-preview-state=focus] .mithrl-switch__track{box-shadow:0 0 0 var(--focus-width) var(--color-ring)}.mithrl-switch:disabled,.mithrl-switch[data-preview-state=disabled]{cursor:not-allowed}.mithrl-switch:disabled .mithrl-switch__track,.mithrl-switch[data-preview-state=disabled] .mithrl-switch__track{opacity:.42}.mithrl-theme-switch.mithrl-switch .mithrl-switch__track{width:var(--size-target-enhanced);background:var(--color-theme-switcher-track)}.mithrl-theme-switch .mithrl-switch__thumb{background:var(--color-theme-switcher-thumb)}.mithrl-theme-switch[data-checked] .mithrl-switch__thumb{inset-inline-start:23px}.mithrl-theme-switch__icon{color:var(--color-theme-switcher-icon);opacity:0;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard);position:absolute;inset-block-start:5px}.mithrl-theme-switch__icon--light{opacity:1;transition-delay:var(--motion-duration-moderate);inset-inline-start:25px}.mithrl-theme-switch__icon--dark{inset-inline-start:5px}.mithrl-theme-switch[data-checked] .mithrl-theme-switch__icon--light{opacity:0;transition-delay:var(--motion-duration-none)}.mithrl-theme-switch[data-checked] .mithrl-theme-switch__icon--dark{opacity:1;transition-delay:var(--motion-duration-moderate)}.mithrl-theme-switch.mithrl-switch:hover:not(:disabled) .mithrl-switch__track,.mithrl-theme-switch.mithrl-switch[data-preview-state=hover]:not(:disabled) .mithrl-switch__track{background:var(--color-theme-switcher-track-hover)}.mithrl-theme-switch.mithrl-switch:active:not(:disabled) .mithrl-switch__track,.mithrl-theme-switch.mithrl-switch[data-preview-state=pressed]:not(:disabled) .mithrl-switch__track{background:var(--color-secondary-pressed)}.mithrl-theme-switch.mithrl-switch:focus-visible .mithrl-switch__track,.mithrl-theme-switch.mithrl-switch[data-preview-state=focus] .mithrl-switch__track{box-shadow:0 0 0 var(--focus-width) var(--color-theme-switcher-focus)}@media (prefers-reduced-motion:reduce){.mithrl-switch__track,.mithrl-switch__thumb,.mithrl-theme-switch__icon{transition-duration:var(--motion-duration-none);transition-delay:var(--motion-duration-none)}}.mithrl-toggle-button{--toggle-button-size:var(--size-control-default);--toggle-button-background:transparent;--toggle-button-foreground:var(--color-icon);--toggle-button-hover-background:var(--color-state-hover);--toggle-button-hover-foreground:var(--color-icon-strong);--toggle-button-active-background:var(--color-state-selected);--toggle-button-active-foreground:var(--color-icon-strong);box-sizing:border-box;width:var(--toggle-button-size);height:var(--toggle-button-size);min-width:var(--toggle-button-size);min-height:var(--toggle-button-size);border-radius:var(--radius-full);background:var(--toggle-button-background);color:var(--toggle-button-foreground);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard);border:0;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative;overflow:visible}.mithrl-toggle-button:hover:not(:disabled),.mithrl-toggle-button[data-preview-state=hover]:not(:disabled){background:var(--toggle-button-hover-background);color:var(--toggle-button-hover-foreground)}.mithrl-toggle-button:active:not(:disabled),.mithrl-toggle-button[data-preview-state=active]:not(:disabled){background:var(--toggle-button-active-background);color:var(--toggle-button-active-foreground)}.mithrl-toggle-button:focus{outline:none}.mithrl-toggle-button:focus-visible,.mithrl-toggle-button[data-preview-state=focus]{outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-toggle-button[data-pressed]{--toggle-button-background:var(--color-secondary);--toggle-button-foreground:var(--color-icon-strong);--toggle-button-hover-background:var(--color-secondary-hover);--toggle-button-hover-foreground:var(--color-icon-strong);--toggle-button-active-background:var(--color-secondary-pressed);--toggle-button-active-foreground:var(--color-icon-strong)}.mithrl-toggle-button:disabled,.mithrl-toggle-button[data-preview-state=disabled]{--toggle-button-background:transparent;--toggle-button-foreground:var(--color-state-disabled);cursor:not-allowed}.mithrl-toggle-button[data-pressed]:disabled,.mithrl-toggle-button[data-pressed][data-preview-state=disabled]{--toggle-button-background:var(--color-muted)}.mithrl-toggle-button--compact{--toggle-button-size:var(--size-control-compact)}.mithrl-toggle-button--default{--toggle-button-size:var(--size-control-default)}.mithrl-toggle-button--comfortable{--toggle-button-size:var(--size-control-comfortable)}@media (prefers-reduced-motion:reduce){.mithrl-toggle-button{transition-duration:var(--motion-duration-none)}}.mithrl-tooltip{z-index:var(--z-tooltip);max-width:min(240px, calc(100vw - (var(--space-8) * 2)));color:var(--color-tooltip-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);line-height:var(--text-label-line-height);pointer-events:auto;animation:mithrl-tooltip-enter var(--motion-duration-fast) var(--motion-easing-standard);position:fixed}.mithrl-tooltip__surface{padding:var(--space-4) var(--space-6);overflow-wrap:anywhere;isolation:isolate;display:block;position:relative}.mithrl-tooltip__surface:before{z-index:-1;border-radius:var(--radius-small);background:var(--color-tooltip);content:"";opacity:.92;position:absolute;inset:0}.mithrl-tooltip__arrow{opacity:.92;width:0;height:0;position:absolute}.mithrl-tooltip[data-placement=top] .mithrl-tooltip__arrow{bottom:-5px;left:var(--tooltip-arrow-offset);border-top:5px solid var(--color-tooltip);border-left:4px solid #0000;border-right:4px solid #0000;transform:translate(-50%)}.mithrl-tooltip[data-placement=bottom] .mithrl-tooltip__arrow{top:-5px;left:var(--tooltip-arrow-offset);border-right:4px solid #0000;border-bottom:5px solid var(--color-tooltip);border-left:4px solid #0000;transform:translate(-50%)}.mithrl-tooltip[data-placement=right] .mithrl-tooltip__arrow{top:var(--tooltip-arrow-offset);border-top:4px solid #0000;border-right:5px solid var(--color-tooltip);border-bottom:4px solid #0000;left:-5px;transform:translateY(-50%)}.mithrl-tooltip[data-placement=left] .mithrl-tooltip__arrow{top:var(--tooltip-arrow-offset);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid var(--color-tooltip);right:-5px;transform:translateY(-50%)}@keyframes mithrl-tooltip-enter{0%{opacity:0;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mithrl-tooltip{animation:none}}.mithrl-text-field{box-sizing:border-box;width:100%;height:var(--size-control-comfortable);align-items:center;gap:var(--space-8);padding-inline:var(--space-12);border:1px solid var(--color-input);border-radius:var(--radius-medium);color:var(--color-foreground);cursor:text;transition:border-color var(--motion-duration-standard) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard);display:inline-flex}.mithrl-text-field--surface{background:var(--color-surface)}.mithrl-text-field--transparent{background:0 0}.mithrl-text-field__control{min-width:0;height:var(--text-ui-line-height);color:inherit;font:inherit;font-family:var(--font-family-sans);font-size:var(--text-ui-size);font-weight:var(--font-weight-regular);line-height:var(--text-ui-line-height);background:0 0;border:0;outline:0;flex:auto;margin:0;padding:0;display:block}.mithrl-text-field__control::placeholder{color:var(--color-input-placeholder);opacity:1}.mithrl-text-field__visual{flex:0 0 var(--size-icon-default);width:var(--size-icon-default);height:var(--size-icon-default);color:var(--color-icon);pointer-events:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.mithrl-text-field__visual>svg{width:100%;height:100%}.mithrl-text-field:where([data-status=default]:hover:not([data-disabled]):not([data-read-only])),.mithrl-text-field:where([data-status=default][data-preview-state=hover]:not([data-disabled]):not([data-read-only])){border-color:var(--color-input-hover)}.mithrl-text-field--warning{border-color:var(--color-warning-strong)}.mithrl-text-field--warning .mithrl-text-field__visual--status{color:var(--color-warning-strong)}.mithrl-text-field--invalid{border-color:var(--color-destructive-strong)}.mithrl-text-field--invalid .mithrl-text-field__visual--status{color:var(--color-destructive-strong)}.mithrl-text-field:focus-within,.mithrl-text-field[data-preview-state=focus]{border-color:var(--color-input-focus)}.mithrl-text-field[data-read-only]:focus-within{border-color:var(--color-input)}.mithrl-text-field[data-read-only]:not([data-read-only-pointer-focus]):has(.mithrl-text-field__control:focus-visible){outline:2px solid var(--color-input-focus);outline-offset:2px}.mithrl-text-field[data-disabled]{border-color:var(--color-input-disabled);color:var(--color-state-disabled);cursor:not-allowed}.mithrl-text-field[data-disabled] .mithrl-text-field__control,.mithrl-text-field[data-disabled] .mithrl-text-field__visual{color:var(--color-state-disabled);cursor:not-allowed}.mithrl-text-field__control:disabled{-webkit-text-fill-color:currentColor;opacity:1}.mithrl-text-field[data-disabled] .mithrl-text-field__control::placeholder{color:var(--color-state-disabled)}@media (prefers-reduced-motion:reduce){.mithrl-text-field{transition-duration:var(--motion-duration-none)}}.mithrl-textarea{--textarea-status-inline-inset:var(--size-target-default);width:100%;color:var(--color-foreground);display:block;position:relative}.mithrl-textarea__control{box-sizing:border-box;width:100%;min-height:96px;padding:var(--space-12);border:1px solid var(--color-input);border-radius:var(--radius-medium);color:inherit;font-family:var(--font-family-sans);font-size:var(--text-ui-size);font-weight:var(--font-weight-regular);line-height:var(--text-ui-line-height);transition:border-color var(--motion-duration-standard) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard);outline:0;margin:0;display:block;overflow:auto}.mithrl-textarea--surface .mithrl-textarea__control{background:var(--color-surface)}.mithrl-textarea--transparent .mithrl-textarea__control{background:0 0}.mithrl-textarea--resize-vertical .mithrl-textarea__control{resize:vertical}.mithrl-textarea--resize-none .mithrl-textarea__control{resize:none}.mithrl-textarea__control::placeholder{color:var(--color-input-placeholder);opacity:1}.mithrl-textarea__status{width:var(--size-icon-default);height:var(--size-icon-default);color:var(--color-icon);pointer-events:none;justify-content:center;align-items:center;line-height:0;display:inline-flex;position:absolute;inset-block-start:var(--space-12);inset-inline-end:var(--textarea-status-inline-inset)}.mithrl-textarea__status>svg{width:100%;height:100%}.mithrl-textarea:not([data-status=default]):not([data-disabled]) .mithrl-textarea__control{padding-inline-end:calc(var(--textarea-status-inline-inset) + var(--size-icon-default) + var(--space-8))}.mithrl-textarea:where([data-status=default]:not([data-disabled])) .mithrl-textarea__control:hover,.mithrl-textarea:where([data-status=default][data-preview-state=hover]:not([data-disabled])) .mithrl-textarea__control{border-color:var(--color-input-hover)}.mithrl-textarea--warning .mithrl-textarea__control{border-color:var(--color-warning-strong)}.mithrl-textarea--warning .mithrl-textarea__status{color:var(--color-warning-strong)}.mithrl-textarea--invalid .mithrl-textarea__control{border-color:var(--color-destructive-strong)}.mithrl-textarea--invalid .mithrl-textarea__status{color:var(--color-destructive-strong)}.mithrl-textarea__control:focus:not(:disabled),.mithrl-textarea[data-preview-state=focus] .mithrl-textarea__control{border-color:var(--color-input-focus)}.mithrl-textarea[data-disabled] .mithrl-textarea__control{border-color:var(--color-input-disabled);color:var(--color-state-disabled);cursor:not-allowed;-webkit-text-fill-color:currentColor;opacity:1}.mithrl-textarea[data-disabled] .mithrl-textarea__control::placeholder{color:var(--color-state-disabled)}@media (prefers-reduced-motion:reduce){.mithrl-textarea__control{transition-duration:var(--motion-duration-none)}}.mithrl-select{--select-height:var(--size-control-comfortable);--select-inline-inset:var(--space-10);--select-leading-inset:var(--select-inline-inset);--select-value-leading-inset:var(--select-inline-inset);--select-value-trailing-inset:calc(var(--select-inline-inset) + var(--size-icon-default) + var(--space-8));box-sizing:border-box;width:100%;height:var(--select-height);color:var(--color-foreground);display:inline-block;position:relative}.mithrl-select--large{--select-height:var(--size-control-large);--select-inline-inset:var(--space-12)}.mithrl-select[data-leading]{--select-value-leading-inset:calc(var(--select-leading-inset) + var(--size-icon-default) + var(--space-8))}.mithrl-select__control{box-sizing:border-box;width:100%;height:100%;padding-block:0;padding-inline:var(--select-value-leading-inset) var(--select-value-trailing-inset);border:1px solid var(--color-input);border-radius:var(--radius-medium);appearance:none;background:var(--color-surface);color:inherit;cursor:pointer;font-family:var(--font-family-sans);font-size:var(--text-ui-size);font-weight:var(--font-weight-regular);line-height:var(--text-ui-line-height);text-overflow:ellipsis;transition:border-color var(--motion-duration-standard) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard);outline:0;margin:0;display:block}.mithrl-select__control::-ms-expand{display:none}.mithrl-select__control:required:invalid{color:var(--color-input-placeholder)}.mithrl-select__control option{color:var(--color-foreground)}.mithrl-select__control option:disabled{color:var(--color-input-placeholder)}.mithrl-select__visual{z-index:1;width:var(--size-icon-default);height:var(--size-icon-default);color:var(--color-icon);pointer-events:none;justify-content:center;align-items:center;line-height:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.mithrl-select__visual--leading{inset-inline-start:var(--select-leading-inset)}.mithrl-select__visual--trailing{inset-inline-end:var(--select-inline-inset)}.mithrl-select__control:hover:not(:disabled),.mithrl-select[data-preview-state=hover] .mithrl-select__control:not(:disabled){border-color:var(--color-input-hover)}.mithrl-select[data-invalid] .mithrl-select__control{border-color:var(--color-destructive-strong)}.mithrl-select__control:focus:not(:disabled),.mithrl-select[data-preview-state=focus] .mithrl-select__control{border-color:var(--color-input-focus)}.mithrl-select[data-disabled]{color:var(--color-state-disabled)}.mithrl-select[data-disabled] .mithrl-select__control{border-color:var(--color-input-disabled);color:var(--color-state-disabled);cursor:not-allowed;-webkit-text-fill-color:currentColor;opacity:1}.mithrl-select[data-disabled] .mithrl-select__visual{color:var(--color-state-disabled)}@media (prefers-reduced-motion:reduce){.mithrl-select__control{transition-duration:var(--motion-duration-none)}}.mithrl-link,.mithrl-link:visited{color:var(--color-link)}.mithrl-link{width:fit-content;max-width:100%;font:inherit;letter-spacing:inherit;overflow-wrap:anywhere;text-underline-position:auto;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-easing-standard);text-decoration:none}.mithrl-link--inline{display:inline}.mithrl-link--standalone{align-items:baseline;gap:var(--space-4);vertical-align:baseline;display:inline-flex}.mithrl-link__label{min-width:0;text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:currentColor}.mithrl-link__icon{color:currentColor;flex:none;align-self:baseline;align-items:center;line-height:0;display:inline-flex}.mithrl-link:hover,.mithrl-link[data-preview-state=hover]{color:var(--color-link-hover)}.mithrl-link:active,.mithrl-link[data-preview-state=pressed]{color:var(--color-link-pressed)}.mithrl-link:focus{outline:none}.mithrl-link:focus-visible,.mithrl-link[data-preview-state=focus]{outline:var(--focus-width) solid var(--color-link-focus);outline-offset:var(--focus-gap)}@media (forced-colors:active){.mithrl-link,.mithrl-link:visited,.mithrl-link:hover,.mithrl-link:active{color:linktext}.mithrl-link:focus-visible,.mithrl-link[data-preview-state=focus]{outline-color:highlight}}.mithrl-separator{box-sizing:border-box;border:0;flex:none;margin:0;padding:0;display:block}.mithrl-separator--horizontal{width:100%;height:1px}.mithrl-separator--vertical{align-self:stretch;width:1px;height:auto;min-height:100%}.mithrl-separator--default{background:var(--color-border)}.mithrl-separator--soft{background:var(--color-border-soft)}.mithrl-badge{--badge-background:var(--color-accent);--badge-foreground:var(--color-accent-foreground);box-sizing:border-box;min-width:var(--size-control-minimum);height:var(--size-control-minimum);justify-content:center;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-radius:var(--radius-small);background:var(--badge-background);color:var(--badge-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-compact-size);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:var(--text-label-compact-line-height);text-align:center;vertical-align:middle;white-space:nowrap;border:0;flex:none;margin:0;display:inline-flex;overflow:hidden}.mithrl-badge__label{min-width:0;line-height:inherit;white-space:nowrap;display:block}.mithrl-badge--success{--badge-background:var(--color-success-subtle);--badge-foreground:var(--color-success-subtle-foreground)}.mithrl-badge--warning{--badge-background:var(--color-warning-subtle);--badge-foreground:var(--color-warning-foreground)}.mithrl-badge--information{--badge-background:var(--color-information-subtle);--badge-foreground:var(--color-information-foreground)}.mithrl-badge--destructive{--badge-background:var(--color-destructive-subtle);--badge-foreground:var(--color-destructive-foreground)}.mithrl-tag{--tag-background:var(--color-accent);--tag-foreground:var(--color-accent-foreground);box-sizing:border-box;height:var(--size-control-minimum);justify-content:center;align-items:center;gap:var(--space-6);padding:0 var(--space-8);border-radius:var(--radius-small);background:var(--tag-background);color:var(--tag-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-small-size);font-weight:var(--font-weight-medium);line-height:var(--text-label-small-line-height);text-align:center;vertical-align:middle;white-space:nowrap;border:0;flex:none;margin:0;display:inline-flex;overflow:hidden}.mithrl-tag__label{min-width:0;line-height:inherit;white-space:nowrap;display:block}.mithrl-tag--success{--tag-background:var(--color-success-subtle);--tag-foreground:var(--color-success-subtle-foreground)}.mithrl-tag--warning{--tag-background:var(--color-warning-subtle);--tag-foreground:var(--color-warning-foreground)}.mithrl-tag--information{--tag-background:var(--color-information-subtle);--tag-foreground:var(--color-information-foreground)}.mithrl-tag--destructive{--tag-background:var(--color-destructive-subtle);--tag-foreground:var(--color-destructive-foreground)}.mithrl-avatar{--avatar-size:var(--size-avatar-default);flex:0 0 var(--avatar-size);width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-full);color:var(--color-foreground);vertical-align:middle;place-items:center;line-height:0;display:inline-grid;position:relative;overflow:hidden}.mithrl-avatar--small{--avatar-size:var(--size-avatar-small)}.mithrl-avatar--large{--avatar-size:var(--size-avatar-large)}.mithrl-avatar__fallback,.mithrl-avatar__image{border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.mithrl-avatar__fallback{background:var(--color-primary-subtle);place-items:center;display:grid}.mithrl-avatar__image{z-index:1;object-fit:cover;opacity:0;pointer-events:none;display:block}.mithrl-avatar[data-image-loaded]:after{z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--color-border-subtle);content:"";pointer-events:none;position:absolute;inset:0}.mithrl-avatar[data-image-loaded] .mithrl-avatar__image{opacity:1}.mithrl-avatar__initials{width:100%;height:100%;font-family:var(--font-family-sans);font-size:var(--text-label-small-size);font-weight:var(--font-weight-medium);letter-spacing:0;line-height:var(--text-label-small-line-height);text-align:center;justify-content:center;align-items:center;display:flex}.mithrl-avatar--small .mithrl-avatar__initials{font-size:var(--text-label-compact-size);line-height:var(--text-label-compact-line-height)}.mithrl-avatar--large .mithrl-avatar__initials{font-size:var(--text-label-size);line-height:var(--text-label-line-height)}.mithrl-avatar__icon{color:var(--color-foreground)}.mithrl-progress-indicator{--progress-indicator-size:var(--size-icon-small);--progress-indicator-color:var(--color-icon);box-sizing:border-box;flex:0 0 var(--progress-indicator-size);width:var(--progress-indicator-size);height:var(--progress-indicator-size);color:var(--progress-indicator-color);transform-origin:50%;vertical-align:middle;animation:mithrl-progress-indicator-spin 1s var(--motion-easing-linear) infinite;place-items:center;line-height:0;display:inline-grid;position:relative}.mithrl-progress-indicator--xsmall{--progress-indicator-size:var(--size-icon-xsmall)}.mithrl-progress-indicator--small{--progress-indicator-size:var(--size-icon-small)}.mithrl-progress-indicator--default{--progress-indicator-size:var(--size-icon-default)}.mithrl-progress-indicator--neutral{--progress-indicator-color:var(--color-icon)}.mithrl-progress-indicator--brand{--progress-indicator-color:var(--color-brand-strong)}.mithrl-progress-indicator__active,.mithrl-progress-indicator__gap{width:100%;height:100%;display:block;position:absolute;inset:0}.mithrl-progress-indicator__gap{pointer-events:none;overflow:visible}@keyframes mithrl-progress-indicator-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mithrl-progress-indicator{animation:none}}.mithrl-skeleton{box-sizing:border-box;background:var(--color-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;border:0;flex:none;animation:2s cubic-bezier(.4,0,.6,1) infinite mithrl-skeleton-pulse;display:block;overflow:hidden}.mithrl-skeleton--small{border-radius:var(--radius-small)}.mithrl-skeleton--medium{border-radius:var(--radius-medium)}.mithrl-skeleton--large{border-radius:var(--radius-large)}.mithrl-skeleton--full{border-radius:var(--radius-full)}@keyframes mithrl-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.mithrl-skeleton{opacity:1;animation:none}}.mithrl-checkbox{box-sizing:border-box;width:var(--size-target-default);height:var(--size-target-default);flex:0 0 var(--size-target-default);color:var(--color-primary-foreground);vertical-align:middle;place-items:center;line-height:0;display:inline-grid;position:relative}.mithrl-checkbox__input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mithrl-checkbox__visual{box-sizing:border-box;border:1px solid var(--color-input);border-radius:var(--radius-xsmall);pointer-events:none;width:16px;height:16px;transition:border-color var(--motion-duration-standard) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard), opacity var(--motion-duration-standard) var(--motion-easing-standard);background:0 0;place-items:center;display:inline-grid;position:relative;overflow:visible}.mithrl-checkbox__icon{opacity:0;color:inherit;transition:opacity var(--motion-duration-standard) var(--motion-easing-standard);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mithrl-checkbox__input:hover:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=hover] .mithrl-checkbox__input:not(:disabled)+.mithrl-checkbox__visual{border-color:var(--color-input-hover)}.mithrl-checkbox__input:active:not(:disabled):not(:checked):not(:indeterminate)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=pressed] .mithrl-checkbox__input:not(:disabled):not(:checked):not(:indeterminate)+.mithrl-checkbox__visual{border-color:var(--color-input-focus);background:var(--color-accent)}.mithrl-checkbox__input:checked+.mithrl-checkbox__visual,.mithrl-checkbox__input:indeterminate+.mithrl-checkbox__visual{border-color:var(--color-primary);background:var(--color-primary)}.mithrl-checkbox__input:checked:not(:indeterminate)+.mithrl-checkbox__visual .mithrl-checkbox__icon--check,.mithrl-checkbox__input:indeterminate+.mithrl-checkbox__visual .mithrl-checkbox__icon--minus{opacity:1}.mithrl-checkbox__input:checked:hover:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox__input:indeterminate:hover:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=hover] .mithrl-checkbox__input:checked:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=hover] .mithrl-checkbox__input:indeterminate:not(:disabled)+.mithrl-checkbox__visual{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.mithrl-checkbox__input:checked:active:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox__input:indeterminate:active:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=pressed] .mithrl-checkbox__input:checked:not(:disabled)+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=pressed] .mithrl-checkbox__input:indeterminate:not(:disabled)+.mithrl-checkbox__visual{border-color:var(--color-primary-pressed);background:var(--color-primary-pressed)}.mithrl-checkbox__input:focus-visible+.mithrl-checkbox__visual,.mithrl-checkbox[data-preview-state=focus] .mithrl-checkbox__visual{box-shadow:0 0 0 var(--focus-gap) var(--color-background), 0 0 0 calc(var(--focus-gap) + var(--focus-width)) var(--color-ring)}.mithrl-checkbox__input:disabled{cursor:not-allowed}.mithrl-checkbox__input:disabled+.mithrl-checkbox__visual{opacity:.42}@media (prefers-reduced-motion:reduce){.mithrl-checkbox__visual,.mithrl-checkbox__icon{transition-duration:var(--motion-duration-none)}}@media (forced-colors:active){.mithrl-checkbox__visual{forced-color-adjust:none;background:canvas;border-color:canvastext}.mithrl-checkbox__input:checked+.mithrl-checkbox__visual,.mithrl-checkbox__input:indeterminate+.mithrl-checkbox__visual{color:highlighttext;background:highlight;border-color:highlight}.mithrl-checkbox__input:focus-visible+.mithrl-checkbox__visual{outline-offset:2px;box-shadow:none;outline:2px solid highlight}}.mithrl-radio{box-sizing:border-box;width:var(--size-target-default);height:var(--size-target-default);flex:0 0 var(--size-target-default);vertical-align:middle;place-items:center;line-height:0;display:inline-grid;position:relative}.mithrl-radio__input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mithrl-radio__visual{box-sizing:border-box;border:1px solid var(--color-input);border-radius:var(--radius-full);pointer-events:none;width:16px;height:16px;transition:border-color var(--motion-duration-standard) var(--motion-easing-standard), background-color var(--motion-duration-standard) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard), opacity var(--motion-duration-standard) var(--motion-easing-standard);background:0 0;place-items:center;display:inline-grid;position:relative;overflow:visible}.mithrl-radio__visual:after{border-radius:var(--radius-full);background:var(--color-primary-foreground);content:"";opacity:0;width:6px;height:6px;transition:opacity var(--motion-duration-standard) var(--motion-easing-standard)}.mithrl-radio__input:hover:not(:disabled)+.mithrl-radio__visual,.mithrl-radio[data-preview-state=hover] .mithrl-radio__input:not(:disabled)+.mithrl-radio__visual{border-color:var(--color-input-hover)}.mithrl-radio__input:active:not(:disabled):not(:checked)+.mithrl-radio__visual,.mithrl-radio[data-preview-state=pressed] .mithrl-radio__input:not(:disabled):not(:checked)+.mithrl-radio__visual{border-color:var(--color-input-focus);background:var(--color-accent)}.mithrl-radio__input:checked+.mithrl-radio__visual{border-color:var(--color-primary);background:var(--color-primary)}.mithrl-radio__input:checked+.mithrl-radio__visual:after{opacity:1}.mithrl-radio__input:checked:hover:not(:disabled)+.mithrl-radio__visual,.mithrl-radio[data-preview-state=hover] .mithrl-radio__input:checked:not(:disabled)+.mithrl-radio__visual{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.mithrl-radio__input:checked:active:not(:disabled)+.mithrl-radio__visual,.mithrl-radio[data-preview-state=pressed] .mithrl-radio__input:checked:not(:disabled)+.mithrl-radio__visual{border-color:var(--color-primary-pressed);background:var(--color-primary-pressed)}.mithrl-radio__input:focus-visible+.mithrl-radio__visual,.mithrl-radio[data-preview-state=focus] .mithrl-radio__visual{box-shadow:0 0 0 var(--focus-gap) var(--color-background), 0 0 0 calc(var(--focus-gap) + var(--focus-width)) var(--color-ring)}.mithrl-radio__input:disabled{cursor:not-allowed}.mithrl-radio__input:disabled+.mithrl-radio__visual{opacity:.42}@media (prefers-reduced-motion:reduce){.mithrl-radio__visual,.mithrl-radio__visual:after{transition-duration:var(--motion-duration-none)}}@media (forced-colors:active){.mithrl-radio__visual{forced-color-adjust:none;background:canvas;border-color:canvastext}.mithrl-radio__input:checked+.mithrl-radio__visual{background:highlight;border-color:highlight}.mithrl-radio__input:checked+.mithrl-radio__visual:after{background:highlighttext}.mithrl-radio__input:focus-visible+.mithrl-radio__visual{outline-offset:2px;box-shadow:none;outline:2px solid highlight}}.mithrl-field-label{align-items:baseline;gap:var(--space-4);max-width:100%;color:var(--color-foreground);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex}.mithrl-field-label--standard{font-size:var(--text-label-size);line-height:var(--text-label-line-height)}.mithrl-field-label--compact{font-size:var(--text-label-small-size);line-height:var(--text-label-small-line-height)}.mithrl-field-label__text{overflow-wrap:anywhere;min-width:0}.mithrl-field-label__optional{color:var(--color-muted-foreground);flex:none}.mithrl-field-label[data-disabled]{color:var(--color-muted-foreground);cursor:default}.mithrl-field-label[data-disabled] .mithrl-field-label__optional{color:inherit}@media (forced-colors:active){.mithrl-field-label,.mithrl-field-label__optional{color:canvastext}.mithrl-field-label[data-disabled]{color:graytext}}.mithrl-standard-tabs{--standard-tabs-item-height:var(--size-control-comfortable);--standard-tabs-item-padding:var(--space-12);--standard-tabs-font-size:var(--text-ui-size);--standard-tabs-line-height:var(--text-ui-line-height);box-sizing:border-box;align-items:flex-end;gap:var(--space-4);width:max-content;color:var(--color-muted-foreground);display:inline-flex;position:relative}.mithrl-standard-tabs:after{z-index:0;background:var(--color-border);content:"";pointer-events:none;height:1px;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard);position:absolute;inset-block-end:0;inset-inline:0}.mithrl-standard-tabs__tab{z-index:1;box-sizing:border-box;min-width:0;height:var(--standard-tabs-item-height);padding-block:0 var(--space-6);padding-inline:var(--standard-tabs-item-padding);color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--standard-tabs-font-size);font-weight:var(--font-weight-medium);line-height:var(--standard-tabs-line-height);text-align:center;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), color var(--motion-duration-standard) var(--motion-easing-standard);background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:flex-end;margin:0;display:inline-flex;position:relative}.mithrl-standard-tabs__tab:after{z-index:2;height:var(--space-2);background:var(--color-brand-strong);content:"";opacity:0;pointer-events:none;transition:background-color var(--motion-duration-standard) var(--motion-easing-standard), opacity var(--motion-duration-standard) var(--motion-easing-standard);position:absolute;inset-block-end:0;inset-inline:0}.mithrl-standard-tabs__tab:hover:not(:disabled),.mithrl-standard-tabs[data-preview-state=hover] .mithrl-standard-tabs__tab:not(:disabled){background:var(--color-state-hover);color:var(--color-foreground)}.mithrl-standard-tabs__tab:active:not(:disabled),.mithrl-standard-tabs[data-preview-state=pressed] .mithrl-standard-tabs__tab:not(:disabled){background:var(--color-state-selected);color:var(--color-foreground)}.mithrl-standard-tabs__tab:focus{outline:none}.mithrl-standard-tabs__tab:focus-visible,.mithrl-standard-tabs[data-preview-state=focus] .mithrl-standard-tabs__tab:not(:disabled){outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-standard-tabs__tab[data-selected]{color:var(--color-foreground)}.mithrl-standard-tabs__tab[data-selected]:after{opacity:1}.mithrl-standard-tabs__tab:disabled{color:var(--color-state-disabled);cursor:not-allowed}.mithrl-standard-tabs__tab:disabled[data-selected]:after{background:var(--color-state-disabled)}.mithrl-standard-tabs__label{text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden}.mithrl-standard-tabs__label[data-overflowing]{-webkit-mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);-webkit-mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);mask-image:linear-gradient(90deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%)}.mithrl-standard-tabs[data-direction=rtl] .mithrl-standard-tabs__label[data-overflowing]{-webkit-mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);-webkit-mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%);mask-image:linear-gradient(270deg, #000 0, #000 max(50%, calc(100% - var(--space-24))), transparent 100%)}.mithrl-standard-tabs--compact{--standard-tabs-item-height:var(--size-control-default);--standard-tabs-item-padding:var(--space-10);--standard-tabs-font-size:var(--text-label-size);--standard-tabs-line-height:var(--text-label-line-height)}.mithrl-standard-tabs[data-full-width]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.mithrl-standard-tabs[data-full-width] .mithrl-standard-tabs__tab{width:100%}@media (prefers-reduced-motion:reduce){.mithrl-standard-tabs:after,.mithrl-standard-tabs__tab,.mithrl-standard-tabs__tab:after{transition-duration:var(--motion-duration-none)}}.mithrl-field-message{color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-small-size);font-weight:var(--font-weight-regular);letter-spacing:normal;line-height:var(--text-label-small-line-height);text-align:start;overflow-wrap:anywhere;margin:0}.mithrl-field-message--warning{color:var(--color-foreground)}.mithrl-field-message--error{color:var(--color-destructive-foreground)}@media (forced-colors:active){.mithrl-field-message{color:canvastext}}.mithrl-field{align-content:start;width:100%;min-width:0;display:grid}.mithrl-field--standard{gap:var(--space-6)}.mithrl-field--compact{gap:var(--space-4)}.mithrl-field__control-and-messages,.mithrl-field__messages{align-content:start;min-width:0;display:grid}.mithrl-field--standard .mithrl-field__control-and-messages{gap:var(--space-6)}.mithrl-field--compact .mithrl-field__control-and-messages,.mithrl-field__messages{gap:var(--space-4)}.mithrl-field__control{min-width:0}.mithrl-dropdown-menu__positioner{z-index:var(--z-popover);outline:0}.mithrl-dropdown-menu__popup{box-sizing:border-box;width:min(var(--dropdown-menu-width), var(--available-width));max-width:calc(100vw - var(--space-16));padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-popover);box-shadow:var(--elevation-overlay);color:var(--color-popover-foreground);transform-origin:var(--transform-origin);transition:opacity var(--motion-duration-standard) var(--motion-easing-enter), transform var(--motion-duration-standard) var(--motion-easing-enter), inset-inline-start var(--motion-duration-standard) var(--motion-easing-enter);outline:0;position:relative;inset-inline-start:0;transform:translate(0,0)}.mithrl-dropdown-menu__popup--compact{--dropdown-menu-width:180px}.mithrl-dropdown-menu__popup--default{--dropdown-menu-width:220px}.mithrl-dropdown-menu__popup--maximum{--dropdown-menu-width:320px}.mithrl-dropdown-menu__popup[data-starting-style],.mithrl-dropdown-menu__popup[data-ending-style]{opacity:0}.mithrl-dropdown-menu__popup[data-starting-style][data-side=bottom]{transform:translate3d(0, calc(var(--space-4) * -1), 0)}.mithrl-dropdown-menu__popup[data-starting-style][data-side=top]{transform:translate3d(0, var(--space-4), 0)}.mithrl-dropdown-menu__popup[data-starting-style][data-side=inline-end],.mithrl-dropdown-menu__popup[data-starting-style][data-side=right]{inset-inline-start:calc(var(--space-4) * -1)}.mithrl-dropdown-menu__popup[data-starting-style][data-side=inline-start],.mithrl-dropdown-menu__popup[data-starting-style][data-side=left]{inset-inline-start:var(--space-4)}.mithrl-dropdown-menu__popup[data-ending-style]{pointer-events:none;transition-duration:var(--motion-duration-fast);transition-timing-function:var(--motion-easing-exit)}.mithrl-dropdown-menu__popup[data-ending-style][data-side=bottom]{transform:translate3d(0, calc(var(--space-2) * -1), 0)}.mithrl-dropdown-menu__popup[data-ending-style][data-side=top]{transform:translate3d(0, var(--space-2), 0)}.mithrl-dropdown-menu__popup[data-ending-style][data-side=inline-end],.mithrl-dropdown-menu__popup[data-ending-style][data-side=right]{inset-inline-start:calc(var(--space-2) * -1)}.mithrl-dropdown-menu__popup[data-ending-style][data-side=inline-start],.mithrl-dropdown-menu__popup[data-ending-style][data-side=left]{inset-inline-start:var(--space-2)}.mithrl-dropdown-menu__group{flex-direction:column;margin:0;padding:0;display:flex}.mithrl-dropdown-menu__label{box-sizing:border-box;width:100%;min-height:var(--size-control-default);padding-inline:var(--space-8);color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);line-height:var(--text-label-line-height);align-items:center;display:flex}.mithrl-dropdown-menu__item{box-sizing:border-box;width:100%;min-height:var(--size-control-comfortable);align-items:center;gap:var(--space-8);padding:0 var(--space-8);border-radius:var(--radius-medium);color:var(--color-popover-foreground);cursor:pointer;font-family:var(--font-family-sans);font-size:var(--text-ui-size);font-weight:var(--font-weight-regular);line-height:var(--text-ui-line-height);text-align:start;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;outline:0;margin:0;text-decoration:none;display:flex}.mithrl-dropdown-menu__item:hover:not([data-disabled]),.mithrl-dropdown-menu__item[data-highlighted]:not([data-disabled]){background:var(--color-dropdown-menu-item-hover)}.mithrl-dropdown-menu__item:active:not([data-disabled]){background:var(--color-state-selected)}.mithrl-dropdown-menu__item[data-tone=destructive]{color:var(--color-destructive-strong)}.mithrl-dropdown-menu__item[data-disabled]{color:var(--color-state-disabled);cursor:not-allowed;pointer-events:none}.mithrl-dropdown-menu__icon{flex:0 0 var(--size-icon-default);width:var(--size-icon-default);height:var(--size-icon-default);color:var(--color-icon);justify-content:center;align-items:center;line-height:0;display:inline-flex}.mithrl-dropdown-menu__item[data-tone=destructive] .mithrl-dropdown-menu__icon{color:var(--color-destructive-strong)}.mithrl-dropdown-menu__item[data-disabled] .mithrl-dropdown-menu__icon{color:var(--color-state-disabled)}.mithrl-dropdown-menu__item-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mithrl-dropdown-menu__shortcut{color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-line-height);white-space:nowrap;flex:none;margin-inline-start:auto}.mithrl-dropdown-menu__item[data-disabled] .mithrl-dropdown-menu__shortcut{color:currentColor}.mithrl-dropdown-menu__separator-slot{box-sizing:border-box;width:100%;height:9px;padding:var(--space-4) var(--space-8);align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.mithrl-dropdown-menu__popup{transition:opacity var(--motion-duration-fast) var(--motion-easing-standard);transform:none}.mithrl-dropdown-menu__popup[data-starting-style][data-side],.mithrl-dropdown-menu__popup[data-ending-style][data-side]{inset-inline-start:0;transform:none}}.mithrl-account-menu__identity{box-sizing:border-box;width:100%;min-width:0;height:48px;padding-inline:var(--space-8);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.mithrl-account-menu__display-name,.mithrl-account-menu__message{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;display:block;overflow:hidden}.mithrl-account-menu__display-name{color:var(--color-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-semibold);line-height:var(--text-label-line-height)}.mithrl-account-menu__message{color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:var(--text-label-small-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-small-line-height)}.mithrl-global-app-bar{box-sizing:border-box;width:100%;min-width:320px;height:var(--layout-shell-height);align-items:center;gap:var(--space-8);padding-inline:var(--space-12);background:var(--color-background);border:0;display:flex}.mithrl-global-app-bar__brand{box-sizing:border-box;width:103px;height:32px;color:inherit;-webkit-tap-highlight-color:transparent;flex:0 0 103px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mithrl-global-app-bar__brand:focus{outline:none}.mithrl-global-app-bar__brand:focus-visible{outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap);border-radius:var(--radius-small)}.mithrl-global-app-bar__brand-artwork{pointer-events:none;width:94.614px;height:17px;display:block}.mithrl-global-app-bar__brand-artwork--dark,.mithrl-global-app-bar[data-theme=dark] .mithrl-global-app-bar__brand-artwork--light{display:none}.mithrl-global-app-bar[data-theme=dark] .mithrl-global-app-bar__brand-artwork--dark{display:block}.mithrl-global-app-bar__spacer{flex:auto;min-width:0}.mithrl-global-app-bar__account-menu-portal{width:0;height:0;position:absolute}.mithrl-global-app-bar__account{box-sizing:border-box;width:32px;height:var(--layout-shell-interactive-band);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:0 0 32px;place-items:center;margin:0;padding:0;display:inline-grid}.mithrl-global-app-bar__account:focus,.mithrl-global-app-bar__account:focus-visible{outline:none}.mithrl-global-app-bar__account:focus-visible .mithrl-avatar{outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-global-app-bar__account .mithrl-avatar{color:var(--color-foreground)}.mithrl-global-app-bar__account:disabled{cursor:not-allowed;opacity:.42}.mithrl-project-card{box-sizing:border-box;border:1px solid var(--color-border-subtle);border-radius:var(--radius-xlarge);background:var(--color-card);width:100%;min-width:0;box-shadow:var(--elevation-surface);color:var(--color-card-foreground);font-family:var(--font-family-sans);transition:transform var(--motion-duration-fast) var(--motion-easing-standard), box-shadow var(--motion-duration-standard) var(--motion-easing-standard), opacity var(--motion-duration-fast) var(--motion-easing-standard);-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex;overflow:hidden;container-type:inline-size}.mithrl-project-card[data-presentation=grid]{flex-direction:column;height:268px}.mithrl-project-card[data-presentation=list]{flex-direction:row;height:130px}.mithrl-project-card:hover,.mithrl-project-card[data-preview-state=hover]{z-index:1;box-shadow:var(--elevation-raised);transform:translateY(-1px)}.mithrl-project-card:active,.mithrl-project-card[data-preview-state=pressed]{box-shadow:var(--elevation-surface);opacity:.92;transform:translateY(0)}.mithrl-project-card:focus{outline:none}.mithrl-project-card:focus-visible,.mithrl-project-card[data-preview-state=focus-visible]{outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-project-card__preview-shell,.mithrl-project-card__preview,.mithrl-project-card__body,.mithrl-project-card__primary,.mithrl-project-card__metadata,.mithrl-project-card__metrics,.mithrl-project-card__creator,.mithrl-project-card__creator-avatar{box-sizing:border-box}.mithrl-project-card__preview-shell{padding:var(--space-8);flex:none;display:flex;overflow:hidden}.mithrl-project-card[data-presentation=grid] .mithrl-project-card__preview-shell{width:100%;height:140px;padding-bottom:0}.mithrl-project-card[data-presentation=list] .mithrl-project-card__preview-shell{width:min(400px,36%);min-width:260px;height:100%}.mithrl-project-card__preview{border-radius:var(--radius-large);background:var(--color-secondary);width:100%;height:100%;display:block;position:relative;overflow:hidden}.mithrl-project-card__activity{z-index:1;position:absolute;inset-block-start:var(--space-12);inset-inline-start:var(--space-12)}.mithrl-project-card__activity time{font:inherit}.mithrl-project-card__artwork{pointer-events:none;width:400px;height:88px;display:block;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.mithrl-project-card__artwork--chart-1{color:var(--color-chart-1)}.mithrl-project-card__artwork--chart-2{color:var(--color-chart-2)}.mithrl-project-card__artwork--chart-3{color:var(--color-chart-3)}.mithrl-project-card__artwork--chart-4{color:var(--color-chart-4)}.mithrl-project-card__artwork--chart-5{color:var(--color-chart-5)}.mithrl-project-card__body{min-width:0;padding:var(--space-14) var(--space-16) var(--space-12);flex-direction:column;flex:auto;justify-content:space-between;display:flex;overflow:hidden}.mithrl-project-card__primary{gap:var(--space-8);flex-direction:column;min-width:0;height:70px;display:flex;overflow:hidden}.mithrl-project-card__title{min-width:0;color:var(--color-foreground-strong);font-size:16px;font-weight:var(--font-weight-semibold);letter-spacing:var(--text-heading-3-letter-spacing);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:22px;display:-webkit-box;overflow:hidden}.mithrl-project-card[data-presentation=list] .mithrl-project-card__title{white-space:nowrap;display:block}.mithrl-project-card__description{min-width:0;color:var(--color-muted-foreground);font-size:13px;font-weight:var(--font-weight-regular);text-overflow:ellipsis;white-space:nowrap;line-height:18px;display:block;overflow:hidden}.mithrl-project-card__metadata{justify-content:space-between;align-items:center;gap:var(--space-8);min-width:0;height:24px;color:var(--color-muted-foreground);font-size:var(--text-label-compact-size);font-weight:var(--font-weight-regular);letter-spacing:.01em;line-height:var(--text-label-compact-line-height);display:flex;overflow:hidden}.mithrl-project-card__metrics{align-items:center;gap:var(--space-4);white-space:nowrap;flex:none;min-width:0;display:flex}.mithrl-project-card__metric-separator{flex:none}.mithrl-project-card__creator{justify-content:flex-end;align-items:center;gap:var(--space-6);min-width:0;font-weight:var(--font-weight-medium);letter-spacing:0;flex:auto;display:inline-flex;overflow:hidden}.mithrl-project-card__creator-avatar{flex:none;place-items:center;display:inline-grid}.mithrl-project-card__creator-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:112px;overflow:hidden}.mithrl-project-card__creator-accessible-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container (width<=280px){.mithrl-project-card__creator-name{display:none}}@media (prefers-reduced-motion:reduce){.mithrl-project-card{transition-duration:var(--motion-duration-none)}.mithrl-project-card:hover,.mithrl-project-card[data-preview-state=hover]{transform:none}}.mithrl-upload-queue{box-sizing:border-box;gap:var(--space-8);width:100%;min-width:0;color:var(--color-foreground);font-family:var(--font-family-sans);display:grid;position:relative;container-type:inline-size}.mithrl-upload-queue__header{align-items:baseline;gap:var(--space-12);min-width:0;min-height:18px;display:flex}.mithrl-upload-queue__label{min-width:0;color:var(--color-foreground-strong);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;line-height:18px;overflow:hidden}.mithrl-upload-queue__summary{min-width:0;color:var(--color-muted-foreground);font-size:var(--text-label-small-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-small-line-height);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.mithrl-upload-queue__list{gap:var(--space-8);min-width:0;margin:0;padding:0;list-style:none;display:grid}.mithrl-upload-queue__item{box-sizing:border-box;align-items:center;gap:var(--space-12);min-width:0;height:56px;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-large);background:var(--color-surface);animation:mithrl-upload-queue-item-enter var(--motion-duration-fast) var(--motion-easing-standard);grid-template-columns:24px minmax(0,1fr) auto;display:grid}.mithrl-upload-queue__leading{width:24px;height:24px;color:var(--color-icon);place-items:center;display:grid}.mithrl-upload-queue__copy{gap:var(--space-2);min-width:0;display:grid}.mithrl-upload-queue__name{min-width:0;color:var(--color-foreground-strong);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;line-height:18px;display:block;overflow:hidden}.mithrl-upload-queue__name:focus-visible{border-radius:var(--radius-small);outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-upload-queue__metadata{min-width:0;color:var(--color-muted-foreground);font-size:var(--text-label-small-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-small-line-height);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mithrl-upload-queue__status-text[data-tone=destructive]{color:var(--color-destructive-strong)}.mithrl-upload-queue__tail,.mithrl-upload-queue__actions{flex:none;align-items:center;display:inline-flex}.mithrl-upload-queue__tail{gap:var(--space-8)}.mithrl-upload-queue__actions{gap:var(--space-4)}.mithrl-upload-queue__status-icon{width:var(--size-icon-default);height:var(--size-icon-default);color:var(--color-icon);place-items:center;display:inline-grid}.mithrl-upload-queue__status-icon[data-state=completed]{color:var(--color-success-strong)}.mithrl-upload-queue__status-icon[data-state=failed]{color:var(--color-destructive-strong)}.mithrl-upload-queue__announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes mithrl-upload-queue-item-enter{0%{opacity:0}to{opacity:1}}@container (width<=360px){.mithrl-upload-queue__header{gap:var(--space-8)}.mithrl-upload-queue__item{gap:var(--space-8);padding-inline:var(--space-10)}.mithrl-upload-queue__tail{gap:var(--space-4)}}@media (prefers-reduced-motion:reduce){.mithrl-upload-queue__item{animation:none}}.mithrl-project-library{box-sizing:border-box;background:var(--color-background);min-width:0;min-height:100%;color:var(--color-foreground);font-family:var(--font-family-sans);display:block;container:project-library/inline-size}.mithrl-project-library,.mithrl-project-library *,.mithrl-project-library :before,.mithrl-project-library :after{box-sizing:border-box}.mithrl-project-library__frame{width:min(100%, calc(var(--layout-page-projects-max) + 2 * var(--layout-page-gutter-desktop)));padding:var(--layout-page-projects-top) var(--layout-page-gutter-desktop) var(--space-48);margin-inline:auto}.mithrl-project-library__toolbar{align-items:center;gap:var(--space-12);width:100%;margin-block-end:var(--space-24);display:flex}.mithrl-project-library__primary-controls{align-items:center;gap:var(--space-12);flex:auto;min-width:0;display:flex}.mithrl-project-library__secondary-controls{align-items:center;gap:var(--space-12);flex:none;display:flex}.mithrl-project-library__heading-group{align-items:center;gap:var(--space-8);min-width:max-content;display:flex}.mithrl-project-library__heading-group h1{color:var(--color-foreground-strong);font-size:24px;font-weight:var(--font-weight-semibold);letter-spacing:var(--text-heading-1-letter-spacing);margin:0;line-height:30px}.mithrl-project-library__count{background:var(--color-control);color:var(--color-foreground)}.mithrl-project-library__count-skeleton{width:26px;height:20px}.mithrl-project-library__scope{grid-auto-columns:107px;margin-inline-start:auto}.mithrl-project-library__search{justify-self:stretch;width:220px;min-width:220px;max-width:220px}.mithrl-project-library__sort{min-width:150px}.mithrl-project-library__view{width:64px;height:var(--size-control-comfortable);align-items:center;gap:var(--space-4);padding:var(--space-2);border-radius:var(--radius-full);background:var(--color-control);display:inline-flex}.mithrl-project-library__view .mithrl-toggle-button{width:28px;min-width:28px;height:28px;min-height:28px}.mithrl-project-library__view .mithrl-toggle-button[data-pressed]{background:var(--color-card);box-shadow:var(--elevation-low)}.mithrl-project-library__new-project{white-space:nowrap;grid-area:new;justify-self:end}.mithrl-project-library__results{min-width:0;display:block;container:project-results/inline-size}.mithrl-project-library__collection{gap:var(--space-16);grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;margin:0;padding:0;list-style:none;display:grid}.mithrl-project-library__collection[data-presentation=list]{grid-template-columns:minmax(0,1fr)}.mithrl-project-library__skeleton-collection{gap:var(--space-16);grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;margin:0;padding:0;list-style:none;display:grid}.mithrl-project-library__skeleton-item{grid-column:span 2;min-width:0;list-style:none}.mithrl-project-library__skeleton-card{border-radius:var(--radius-xlarge);background:var(--color-card);flex-direction:column;width:100%;min-width:0;height:268px;display:flex;overflow:hidden}.mithrl-project-library__skeleton-preview{border-radius:var(--radius-large) var(--radius-large) 0 0;flex:none;width:100%;height:138px}.mithrl-project-library__skeleton-body{min-width:0;padding:var(--space-20) var(--space-16) var(--space-16);flex-direction:column;flex:auto;display:flex}.mithrl-project-library__skeleton-title{width:min(82%,300px);height:16px}.mithrl-project-library__skeleton-description{width:min(70%,256px);height:12px;margin-block-start:var(--space-12)}.mithrl-project-library__skeleton-metadata{align-items:center;min-width:0;margin-block-start:auto;display:flex}.mithrl-project-library__skeleton-avatar{flex:none;width:24px;height:24px}.mithrl-project-library__skeleton-creator{width:88px;height:12px;margin-inline-start:var(--space-8)}.mithrl-project-library__skeleton-activity{width:86px;height:12px;margin-inline-start:auto}.mithrl-project-library__collection[data-presentation=list] .mithrl-project-library__skeleton-item{grid-column:1/-1}.mithrl-project-library__collection[data-presentation=list] .mithrl-project-library__skeleton-card{flex-direction:row;height:130px}.mithrl-project-library__collection[data-presentation=list] .mithrl-project-library__skeleton-preview{border-radius:var(--radius-large) 0 0 var(--radius-large);width:min(400px,36%);min-width:260px;height:100%}.mithrl-project-library__item{min-width:0;transition:opacity var(--motion-duration-standard) var(--motion-easing-standard), transform var(--motion-spring-spatial-duration) var(--motion-easing-standard);grid-column:span 2}.mithrl-project-library__collection[data-presentation=list] .mithrl-project-library__item{grid-column:1/-1}.mithrl-project-library__collection[data-presentation=grid] .mithrl-project-library__item--balanced-final-pair{grid-column:span 3}.mithrl-project-library__continuation{align-items:center;gap:var(--space-6);width:100%;text-align:center;flex-direction:column;margin-block-start:var(--space-32);display:flex}.mithrl-project-library__continuation>span{color:var(--color-foreground-secondary);font-size:12px;font-weight:var(--font-weight-regular);opacity:.58;line-height:16px}.mithrl-project-library__empty{justify-content:center;align-items:center;gap:var(--space-8);min-height:300px;padding:var(--space-32);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xlarge);background:var(--color-surface);text-align:center;flex-direction:column;display:flex}.mithrl-project-library__empty-illustration{width:80px;height:80px;border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-foreground) 4%, transparent);border:0;place-items:center;margin-block-end:var(--space-12);display:grid}.mithrl-project-library__empty-illustration svg{width:62px;height:62px;overflow:visible}.mithrl-project-library__empty-illustration .empty-art__path,.mithrl-project-library__empty-illustration .empty-art__gap,.mithrl-project-library__empty-illustration .empty-art__orbit,.mithrl-project-library__empty-illustration .empty-art__target{fill:none;stroke:var(--color-icon);stroke-linecap:round;stroke-linejoin:round}.mithrl-project-library__empty-illustration .empty-art__path,.mithrl-project-library__empty-illustration .empty-art__gap{stroke-width:2px}.mithrl-project-library__empty-illustration .empty-art__orbit{stroke-width:1.5px;stroke-dasharray:3 5}.mithrl-project-library__empty-illustration .empty-art__target{stroke-width:2.5px}.mithrl-project-library__empty-illustration .empty-art__node,.mithrl-project-library__empty-illustration .empty-art__tile{fill:var(--color-icon)}.mithrl-project-library__empty-illustration .empty-art__path--quiet,.mithrl-project-library__empty-illustration .empty-art__node--quiet,.mithrl-project-library__empty-illustration .empty-art__tile--quiet{opacity:.42}.mithrl-project-library__empty-illustration .empty-art__gap{stroke-dasharray:2 5}.mithrl-project-library__empty h2,.mithrl-project-library__empty p{margin:0}.mithrl-project-library__empty h2{color:var(--color-foreground-strong);font-size:16px;font-weight:var(--font-weight-semibold);letter-spacing:var(--text-heading-3-letter-spacing);line-height:22px}.mithrl-project-library__empty p{max-width:400px;color:var(--color-foreground-secondary);font-size:var(--text-ui-size);line-height:var(--text-ui-line-height)}.mithrl-project-library__empty-actions{justify-content:center;align-items:center;gap:var(--space-8);margin-block-start:var(--space-8);display:flex}.mithrl-project-library__structural-state{min-height:300px;padding:var(--space-32);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.mithrl-project-library__state-illustration{width:80px;height:80px;border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-foreground) 4%, transparent);margin-block-end:var(--space-16);position:relative;overflow:hidden}.mithrl-project-library__state-illustration .state-art__orbit{border:1.5px dashed var(--color-icon);border-radius:var(--radius-full);opacity:.42;width:50px;height:50px;position:absolute;top:15px;left:15px}.mithrl-project-library__state-illustration .state-art__project{border:2px solid var(--color-icon);border-radius:var(--radius-medium);width:20px;height:20px;position:absolute;top:30px;left:30px}.mithrl-project-library__state-illustration .state-art__node{border-radius:var(--radius-small);background:var(--color-icon);width:8px;height:8px;position:absolute}.mithrl-project-library__state-illustration .state-art__node--one{top:11px;left:11px}.mithrl-project-library__state-illustration .state-art__node--two{opacity:.42;top:13px;right:9px}.mithrl-project-library__state-illustration .state-art__node--three{bottom:5px;left:35px}.mithrl-project-library__state-illustration .state-art__source,.mithrl-project-library__state-illustration .state-art__destination{border:2px solid var(--color-icon);border-radius:var(--radius-full);width:14px;height:14px;position:absolute;top:33px}.mithrl-project-library__state-illustration .state-art__source{left:13px}.mithrl-project-library__state-illustration .state-art__destination{right:13px}.mithrl-project-library__state-illustration .state-art__connection{background:var(--color-icon);height:2px;position:absolute;top:39px}.mithrl-project-library__state-illustration .state-art__connection--one{width:10px;left:29px}.mithrl-project-library__state-illustration .state-art__connection--two{opacity:.28;width:9px;right:29px}.mithrl-project-library__structural-state h2,.mithrl-project-library__structural-state p{margin:0}.mithrl-project-library__structural-state h2{color:var(--color-foreground-strong);font-size:16px;font-weight:var(--font-weight-semibold);letter-spacing:var(--text-heading-3-letter-spacing);line-height:22px}.mithrl-project-library__structural-state p{max-width:500px;color:var(--color-foreground-secondary);font-size:var(--text-ui-size);line-height:var(--text-ui-line-height);margin-block-start:var(--space-8)}.mithrl-project-library__structural-state .mithrl-button{margin-block-start:var(--space-16)}.mithrl-project-library__retry-button[aria-disabled=true]{--button-hover-background:var(--button-background);--button-hover-foreground:var(--button-foreground);--button-hover-border:var(--button-border);cursor:wait}.mithrl-project-library__sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@container project-library (width<=1119px){.mithrl-project-library__frame{padding-inline:var(--layout-page-gutter-tablet)}.mithrl-project-library__toolbar{gap:var(--space-12);grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"primary new""secondary secondary";display:grid}.mithrl-project-library__primary-controls{grid-area:primary}.mithrl-project-library__secondary-controls{gap:var(--space-12);grid-area:secondary;grid-template-columns:minmax(0,1fr) 176px 64px;width:100%;display:grid}.mithrl-project-library__scope{justify-self:start}.mithrl-project-library__search{width:100%;min-width:0;max-width:none}.mithrl-project-library__sort{width:176px;min-width:176px}}@container project-library (width<=639px){.mithrl-project-library__frame{padding-inline:var(--layout-page-gutter-mobile)}.mithrl-project-library__toolbar{column-gap:var(--space-8);grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"primary new""secondary secondary"}.mithrl-project-library__primary-controls{gap:var(--space-8)}.mithrl-project-library__secondary-controls{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 32px 64px}.mithrl-project-library__search{min-width:0}.mithrl-project-library__scope{flex:0 220px;grid-auto-columns:minmax(0,1fr);width:min(220px,100%);min-width:0}.mithrl-project-library__new-project{width:var(--size-control-comfortable);min-width:var(--size-control-comfortable);--button-padding-inline:var(--space-0)}.mithrl-project-library__new-project .mithrl-button__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mithrl-project-library__sort{width:var(--size-control-comfortable);min-width:var(--size-control-comfortable)}.mithrl-project-library__sort .mithrl-select__control{border-radius:var(--radius-full);color:#0000;text-indent:100%;padding:0}.mithrl-project-library__sort .mithrl-select__visual--leading{inset-inline-start:50%;transform:translate(-50%,-50%)}.mithrl-project-library__sort .mithrl-select__visual--trailing{display:none}}@container project-library (width<=459px){.mithrl-project-library__heading-group h1{font-size:22px;line-height:28px}.mithrl-project-library__scope{--segmented-tabs-item-padding:var(--space-8);--segmented-tabs-font-size:12px;width:100%}}@container project-results (width<=1039px){.mithrl-project-library__collection[data-presentation=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}.mithrl-project-library__collection[data-presentation=grid] .mithrl-project-library__item,.mithrl-project-library__collection[data-presentation=grid] .mithrl-project-library__item:nth-last-child(2):nth-child(3n+1),.mithrl-project-library__collection[data-presentation=grid] .mithrl-project-library__item:nth-last-child(2):nth-child(3n+1)+.mithrl-project-library__item{grid-column:span 1}.mithrl-project-library__skeleton-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.mithrl-project-library__skeleton-item{grid-column:span 1}.mithrl-project-library__skeleton-collection .mithrl-project-library__skeleton-item--5,.mithrl-project-library__skeleton-collection .mithrl-project-library__skeleton-item--6{display:none}}@container project-results (width<=679px){.mithrl-project-library__collection[data-presentation=grid],.mithrl-project-library__skeleton-collection{grid-template-columns:minmax(0,1fr)}.mithrl-project-library__skeleton-collection .mithrl-project-library__skeleton-item--4{display:none}}@media (prefers-reduced-motion:reduce){.mithrl-project-library__item{animation-duration:var(--motion-duration-none);transition-duration:var(--motion-duration-none)}}.mithrl-dialog__backdrop{z-index:var(--z-overlay);background:var(--color-overlay);opacity:1;transition:opacity var(--motion-duration-fast) var(--motion-easing-enter);position:fixed;inset:0}.mithrl-dialog__backdrop[data-starting-style],.mithrl-dialog__backdrop[data-ending-style]{opacity:0}.mithrl-dialog__backdrop[data-ending-style]{transition-timing-function:var(--motion-easing-exit)}.mithrl-dialog__viewport{z-index:var(--z-dialog);box-sizing:border-box;padding:var(--space-20);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.mithrl-dialog__popup{--dialog-width:520px;--dialog-gap:var(--space-20);--dialog-radius:var(--radius-xlarge);box-sizing:border-box;gap:var(--dialog-gap);width:min(var(--dialog-width), calc(100vw - (2 * var(--space-20))));max-height:calc(100dvh - (2 * var(--space-20)));padding:var(--space-20);border:1px solid var(--color-border);border-radius:var(--dialog-radius);background:var(--color-popover);box-shadow:var(--elevation-modal);color:var(--color-popover-foreground);opacity:1;transform-origin:50%;pointer-events:auto;transition:opacity var(--motion-duration-slow) var(--motion-easing-enter), transform var(--motion-duration-slow) var(--motion-easing-enter);outline:none;flex-direction:column;display:flex;overflow:hidden;transform:translateY(0)scale(1)}.mithrl-dialog__popup[data-starting-style]{opacity:0;transform:translateY(8px)scale(.98)}.mithrl-dialog__popup[data-ending-style]{opacity:0;transition-duration:var(--motion-duration-fast);transition-timing-function:var(--motion-easing-exit);transform:translateY(4px)scale(.99)}.mithrl-dialog__popup:focus-visible{outline:var(--focus-width) solid var(--color-ring);outline-offset:var(--focus-gap)}.mithrl-dialog__popup--small{--dialog-width:400px;--dialog-gap:var(--space-16)}.mithrl-dialog__popup--default{--dialog-width:520px;--dialog-gap:var(--space-20)}.mithrl-dialog__popup--large{--dialog-width:720px;--dialog-gap:var(--space-24);--dialog-radius:var(--radius-2xlarge)}.mithrl-dialog__header{column-gap:var(--space-16);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.mithrl-dialog__title{color:var(--color-popover-foreground);font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);letter-spacing:var(--text-heading-2-letter-spacing);grid-column:1;margin:0;line-height:24px}.mithrl-dialog__description{margin:var(--space-4) 0 0;color:var(--color-muted-foreground);font-family:var(--font-family-sans);font-size:14px;font-weight:var(--font-weight-regular);grid-column:1;line-height:20px}.mithrl-dialog__close-button{grid-area:1/2/span 2}.mithrl-dialog__body{min-height:0;padding:var(--space-16);border-radius:var(--radius-xlarge);background:var(--color-background);color:var(--color-foreground);font-family:var(--font-family-sans);font-size:15px;font-weight:var(--font-weight-regular);overscroll-behavior:contain;scrollbar-gutter:stable;line-height:22px;position:relative;overflow:auto}.mithrl-dialog__body:before{z-index:1;top:calc(-1 * var(--space-16));height:var(--space-16);margin:calc(-1 * var(--space-16)) calc(-1 * var(--space-16)) 0;background:linear-gradient(to bottom, var(--color-popover), color-mix(in srgb, var(--color-popover) 0%, transparent));opacity:0;content:"";pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard);display:block;position:sticky}.mithrl-dialog__body[data-scrolled]:before{opacity:1}.mithrl-dialog__footer{gap:var(--space-8);flex:none;justify-content:flex-end;align-items:center;display:flex}@media (width<=439px){.mithrl-dialog__viewport{padding:var(--space-16)}.mithrl-dialog__popup{width:calc(100vw - (2 * var(--space-16)));max-height:calc(100dvh - (2 * var(--space-16)));padding:var(--space-16)}.mithrl-dialog__footer{flex-direction:column;align-items:stretch}.mithrl-dialog__footer>*{width:100%}}@media (prefers-reduced-motion:reduce){.mithrl-dialog__backdrop,.mithrl-dialog__popup{transition-duration:var(--motion-duration-fast)}.mithrl-dialog__popup,.mithrl-dialog__popup[data-starting-style],.mithrl-dialog__popup[data-ending-style]{transform:none}}.mithrl-file-dropzone{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-12);width:100%;min-height:300px;padding:var(--space-24);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-large);background:var(--color-dropzone);color:var(--color-foreground);text-align:center;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), background-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard);flex-direction:column;display:flex;position:relative;overflow:hidden}.mithrl-file-dropzone__input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mithrl-file-dropzone__icon{box-sizing:border-box;width:var(--size-target-enhanced);height:var(--size-target-enhanced);flex:0 0 var(--size-target-enhanced);border:1px solid color-mix(in srgb, var(--color-brand) 12%, transparent);border-radius:var(--radius-full);background:var(--color-brand-subtle);color:var(--color-brand-strong);transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), background-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-spring-spatial-duration) var(--motion-easing-enter);justify-content:center;align-items:center;display:inline-flex}.mithrl-file-dropzone__copy{align-items:center;gap:var(--space-4);flex-direction:column;min-width:0;max-width:100%;display:flex}.mithrl-file-dropzone__copy strong,.mithrl-file-dropzone__copy>span{margin:0;display:block}.mithrl-file-dropzone__copy strong{color:var(--color-foreground);font-family:var(--font-family-sans);font-size:var(--text-ui-size);font-weight:var(--font-weight-medium);line-height:var(--text-ui-line-height)}.mithrl-file-dropzone__copy>span{color:color-mix(in srgb, var(--color-muted-foreground) 98%, var(--color-foreground));font-family:var(--font-family-sans);font-size:var(--text-label-size);font-weight:var(--font-weight-regular);line-height:var(--text-ui-line-height);overflow-wrap:anywhere}.mithrl-file-dropzone__browse{border-radius:var(--radius-xsmall);color:var(--color-link);font:inherit;text-underline-position:from-font;cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;margin:0;padding:0;text-decoration:underline;display:inline}.mithrl-file-dropzone__browse:hover{color:var(--color-link-hover)}.mithrl-file-dropzone__browse:active{color:var(--color-link-pressed)}.mithrl-file-dropzone__browse:focus{outline:none}.mithrl-file-dropzone__browse:focus-visible{outline:var(--focus-width) solid var(--color-link-focus);outline-offset:var(--focus-gap)}.mithrl-file-dropzone[data-state=drag-active]{border-color:var(--color-brand-strong);background:var(--color-dropzone-active)}.mithrl-file-dropzone[data-state=drag-active] .mithrl-file-dropzone__icon{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-brand-foreground);transform:translateY(-2px)scale(1.04)}.mithrl-file-dropzone[data-state=drag-rejected]{border-color:var(--color-destructive-strong);background:color-mix(in srgb, var(--color-destructive) 24%, var(--color-dropzone))}.mithrl-file-dropzone[data-state=drag-rejected] .mithrl-file-dropzone__icon{border-color:var(--color-destructive-strong);background:var(--color-destructive);color:var(--color-destructive-strong)}.mithrl-file-dropzone[data-state=selection-received]{border-color:var(--color-success-strong)}.mithrl-file-dropzone[data-state=selection-received] .mithrl-file-dropzone__icon{border-color:var(--color-success);background:var(--color-success-subtle);color:var(--color-success-strong)}.mithrl-file-dropzone[data-state=disabled]{border-color:var(--color-input-disabled);background:var(--color-muted);color:var(--color-state-disabled);cursor:not-allowed}.mithrl-file-dropzone[data-state=disabled] .mithrl-file-dropzone__icon{border-color:var(--color-input-disabled);background:var(--color-muted);color:var(--color-state-disabled);opacity:.42}.mithrl-file-dropzone[data-state=disabled] .mithrl-file-dropzone__copy{opacity:.42}.mithrl-file-dropzone[data-state=disabled] .mithrl-file-dropzone__copy strong,.mithrl-file-dropzone[data-state=disabled] .mithrl-file-dropzone__copy>span{color:var(--color-state-disabled)}@media (width<=480px){.mithrl-file-dropzone{min-height:260px;padding:var(--space-20)}}@media (prefers-reduced-motion:reduce){.mithrl-file-dropzone,.mithrl-file-dropzone__icon,.mithrl-file-dropzone__browse{transition-duration:var(--motion-duration-none)}.mithrl-file-dropzone[data-state=drag-active] .mithrl-file-dropzone__icon{transform:none}}@media (forced-colors:active){.mithrl-file-dropzone{color:canvastext;forced-color-adjust:none;background:canvas;border-color:canvastext}.mithrl-file-dropzone__icon{color:canvastext;background:canvas;border-color:canvastext}.mithrl-file-dropzone__browse{color:linktext}.mithrl-file-dropzone__browse:focus-visible{outline-color:highlight}}.mithrl-new-project-dialog{--dialog-width:880px;padding:var(--space-24)}.mithrl-new-project-dialog__form{gap:var(--dialog-gap);flex-direction:column;flex:auto;min-height:0;display:flex}.mithrl-new-project-dialog__body{gap:var(--space-32);padding:var(--space-16) 0 var(--space-24);scrollbar-gutter:auto;background:0 0;flex-direction:column;display:flex}.mithrl-new-project-dialog__body:before{margin-inline:0}.mithrl-new-project-dialog__fields{gap:var(--space-24);display:grid}.mithrl-new-project-dialog__resources{gap:var(--space-12);min-width:0;display:grid}.mithrl-new-project-dialog__resources-header{justify-content:space-between;align-items:flex-end;gap:var(--space-16);min-width:0;display:flex}.mithrl-new-project-dialog__resources-header>div:first-child{gap:var(--space-4);min-width:0;display:grid}.mithrl-new-project-dialog__resources-header p,.mithrl-new-project-dialog__resources-header>div:first-child>span,.mithrl-new-project-dialog__upload-note{font-family:var(--font-family-sans);margin:0}.mithrl-new-project-dialog__resources-header p{color:var(--color-foreground-strong);font-size:var(--text-label-size);font-weight:var(--font-weight-medium);line-height:var(--text-ui-line-height)}.mithrl-new-project-dialog__resources-header p>span{color:var(--color-muted-foreground);font-size:var(--text-label-small-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-small-line-height);margin-inline-start:var(--space-4)}.mithrl-new-project-dialog__resources-header>div:first-child>span,.mithrl-new-project-dialog__upload-note{color:var(--color-muted-foreground);font-size:var(--text-label-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-line-height)}.mithrl-new-project-dialog__resource-actions{gap:var(--space-8);flex:none;display:flex}.mithrl-new-project-dialog__dropzone{min-height:180px;transition:min-height var(--motion-duration-standard) var(--motion-easing-standard), padding var(--motion-duration-standard) var(--motion-easing-standard)}.mithrl-new-project-dialog__dropzone--compact{justify-content:flex-start;gap:var(--space-12);min-height:80px;padding:var(--space-16);text-align:start;flex-direction:row}.mithrl-new-project-dialog__dropzone--compact .mithrl-file-dropzone__icon{width:var(--size-target-comfortable);height:var(--size-target-comfortable);flex-basis:var(--size-target-comfortable)}.mithrl-new-project-dialog__dropzone--compact .mithrl-file-dropzone__copy{align-items:flex-start}.mithrl-new-project-dialog__upload-note{font-size:var(--text-label-small-size);line-height:var(--text-label-small-line-height)}.mithrl-new-project-dialog__submit-error{padding:var(--space-12);border:1px solid var(--color-destructive);border-radius:var(--radius-large);background:var(--color-destructive-subtle)}.mithrl-new-project-dialog__submit-error .mithrl-field-message{margin:0}@media (width<=720px){.mithrl-new-project-dialog{padding:var(--space-20)}.mithrl-new-project-dialog__body{padding-inline:0}.mithrl-new-project-dialog__body:before{margin-inline:0}.mithrl-new-project-dialog__resources-header{flex-direction:column;align-items:stretch}.mithrl-new-project-dialog__resource-actions{flex-wrap:wrap}}@media (width<=439px){.mithrl-new-project-dialog{padding:var(--space-16)}.mithrl-new-project-dialog__body{gap:var(--space-24);padding:var(--space-16) 0}.mithrl-new-project-dialog__body:before{margin-inline:0}.mithrl-new-project-dialog__resource-actions>*{flex:140px}.mithrl-new-project-dialog__dropzone--compact{align-items:center}}@media (prefers-reduced-motion:reduce){.mithrl-new-project-dialog__dropzone{transition-duration:var(--motion-duration-none)}}
2
+ /*$vite$:1*/
@@ -0,0 +1 @@
1
+ export {};
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@mithrl/design-system",
3
+ "version": "0.1.0",
4
+ "description": "Mithrl interface foundations and reusable React components.",
5
+ "type": "module",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "main": "./dist/index.js",
10
+ "module": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ },
17
+ "./styles.css": {
18
+ "types": "./dist/styles.d.ts",
19
+ "default": "./dist/styles.css"
20
+ }
21
+ },
22
+ "sideEffects": [
23
+ "**/*.css"
24
+ ],
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/aviai/mithrl-design-system.git"
28
+ },
29
+ "publishConfig": {
30
+ "access": "restricted",
31
+ "registry": "https://registry.npmjs.org"
32
+ },
33
+ "scripts": {
34
+ "storybook": "storybook dev -p 6006",
35
+ "build-storybook": "storybook build",
36
+ "test:visual": "playwright test",
37
+ "test:visual:update": "playwright test --update-snapshots",
38
+ "tokens:build": "node scripts/build-token-registry.mjs",
39
+ "tokens:check": "node scripts/check-token-parity.mjs",
40
+ "design-map:check": "node scripts/check-design-map.mjs",
41
+ "prototype:sync": "node scripts/sync-prototype-foundations.mjs",
42
+ "prototype:check": "node scripts/sync-prototype-foundations.mjs --check",
43
+ "typecheck": "tsc --noEmit",
44
+ "build:types": "tsc -p tsconfig.build.json && node scripts/prepare-package-types.mjs",
45
+ "build:library": "vite build",
46
+ "build": "npm run typecheck && npm run build:library && npm run build:types && npm run check:consumer-types",
47
+ "check:package": "npm pack --dry-run --cache .cache/npm",
48
+ "check:consumer-types": "node scripts/check-package-consumer.mjs",
49
+ "changeset": "changeset",
50
+ "version-packages": "changeset version",
51
+ "release": "npm run build && changeset publish",
52
+ "test": "npm run tokens:check && npm run design-map:check && npm run prototype:check && vitest run"
53
+ },
54
+ "dependencies": {
55
+ "@base-ui/react": "^1.7.0",
56
+ "class-variance-authority": "^0.7.1",
57
+ "lucide-react": "^1.27.0"
58
+ },
59
+ "peerDependencies": {
60
+ "react": ">=18 <20",
61
+ "react-dom": ">=18 <20"
62
+ },
63
+ "devDependencies": {
64
+ "@changesets/cli": "^2.31.1",
65
+ "@playwright/test": "^1.62.1",
66
+ "@storybook/addon-a11y": "^10.5.8",
67
+ "@storybook/addon-docs": "^10.5.8",
68
+ "@storybook/react-vite": "^10.5.8",
69
+ "@types/react": "18.3.27",
70
+ "@types/react-dom": "18.3.7",
71
+ "@vitejs/plugin-react": "latest",
72
+ "react": "18.3.1",
73
+ "react-dom": "18.3.1",
74
+ "storybook": "^10.5.8",
75
+ "typescript": "latest",
76
+ "vite": "latest",
77
+ "vitest": "^4.1.10"
78
+ }
79
+ }