zabi-components 7.0.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -3
- package/THEMING.md +255 -15
- package/dist/atoms/ActionPanel.svelte +12 -7
- package/dist/atoms/ActionPanel.svelte.d.ts +2 -0
- package/dist/atoms/Badge.svelte +93 -56
- package/dist/atoms/Badge.svelte.d.ts +15 -3
- package/dist/atoms/Button.svelte +49 -49
- package/dist/atoms/Button.svelte.d.ts +3 -0
- package/dist/atoms/Card.svelte +31 -28
- package/dist/atoms/Card.svelte.d.ts +5 -2
- package/dist/atoms/CardContent.svelte +10 -2
- package/dist/atoms/CardContent.svelte.d.ts +2 -0
- package/dist/atoms/CardFooter.svelte +10 -2
- package/dist/atoms/CardFooter.svelte.d.ts +2 -0
- package/dist/atoms/CardHeader.svelte +10 -2
- package/dist/atoms/CardHeader.svelte.d.ts +2 -0
- package/dist/atoms/Checkbox.svelte +4 -0
- package/dist/atoms/Checkbox.svelte.d.ts +2 -0
- package/dist/atoms/CodeBlock.svelte +15 -7
- package/dist/atoms/CodeBlock.svelte.d.ts +9 -3
- package/dist/atoms/ColorPicker.svelte +19 -9
- package/dist/atoms/ColorPicker.svelte.d.ts +3 -1
- package/dist/atoms/Container.svelte +2 -3
- package/dist/atoms/Divider.svelte +4 -4
- package/dist/atoms/FeatureCard.svelte +4 -3
- package/dist/atoms/Heading.svelte +56 -27
- package/dist/atoms/Heading.svelte.d.ts +17 -4
- package/dist/atoms/IconButton.svelte +30 -37
- package/dist/atoms/Input.svelte +26 -34
- package/dist/atoms/List.svelte +10 -2
- package/dist/atoms/List.svelte.d.ts +2 -0
- package/dist/atoms/ListItem.svelte +2 -2
- package/dist/atoms/ListItemLeading.svelte +4 -2
- package/dist/atoms/ListItemLeading.svelte.d.ts +1 -1
- package/dist/atoms/OptimizedImage.svelte +11 -2
- package/dist/atoms/OptimizedImage.svelte.d.ts +2 -0
- package/dist/atoms/Progress.svelte +4 -1
- package/dist/atoms/Progress.svelte.d.ts +2 -0
- package/dist/atoms/Radio.svelte +4 -0
- package/dist/atoms/Radio.svelte.d.ts +2 -0
- package/dist/atoms/Select.svelte +65 -67
- package/dist/atoms/Select.svelte.d.ts +4 -0
- package/dist/atoms/SelectionControl.svelte +5 -1
- package/dist/atoms/SelectionControl.svelte.d.ts +2 -0
- package/dist/atoms/Skeleton.svelte +5 -3
- package/dist/atoms/Table.svelte +2 -1
- package/dist/atoms/Text.svelte +34 -5
- package/dist/atoms/Text.svelte.d.ts +7 -1
- package/dist/atoms/Textarea.svelte +7 -6
- package/dist/atoms/ThemeToggle.svelte +17 -14
- package/dist/atoms/ThemeToggle.svelte.d.ts +2 -0
- package/dist/atoms/Toast.svelte +10 -8
- package/dist/atoms/Toggle.svelte +21 -13
- package/dist/atoms/Toggle.svelte.d.ts +7 -0
- package/dist/atoms/Tooltip.svelte +80 -22
- package/dist/atoms/Tooltip.svelte.d.ts +15 -0
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/organisms/index.d.ts +1 -0
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/components/util/cn.d.ts +8 -0
- package/dist/components/util/cn.d.ts.map +1 -0
- package/dist/components/util/ssr-safe.d.ts +4 -4
- package/dist/components/util/ssr-safe.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -6
- package/dist/molecules/Alert.svelte +43 -64
- package/dist/molecules/Alert.svelte.d.ts +7 -1
- package/dist/molecules/ComponentDemo.svelte +10 -2
- package/dist/molecules/ComponentDemo.svelte.d.ts +2 -0
- package/dist/molecules/ContactForm.svelte +12 -2
- package/dist/molecules/ContactForm.svelte.d.ts +2 -0
- package/dist/molecules/Dropdown.svelte +40 -11
- package/dist/molecules/Dropdown.svelte.d.ts +4 -0
- package/dist/molecules/EmptyState.svelte +2 -1
- package/dist/molecules/Form.svelte +25 -14
- package/dist/molecules/Form.svelte.d.ts +13 -5
- package/dist/molecules/FormField.svelte +2 -1
- package/dist/molecules/Header.svelte +13 -3
- package/dist/molecules/Header.svelte.d.ts +2 -0
- package/dist/molecules/ImageUpload.svelte +54 -15
- package/dist/molecules/ImageUpload.svelte.d.ts +16 -5
- package/dist/molecules/Modal.svelte +110 -31
- package/dist/molecules/Modal.svelte.d.ts +9 -6
- package/dist/molecules/NavigationMenu.svelte +15 -3
- package/dist/molecules/NavigationMenu.svelte.d.ts +4 -0
- package/dist/molecules/NavigationMenuContent.svelte +36 -38
- package/dist/molecules/NavigationMenuContent.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuItem.svelte +10 -2
- package/dist/molecules/NavigationMenuItem.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuLink.svelte +10 -2
- package/dist/molecules/NavigationMenuLink.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuList.svelte +10 -2
- package/dist/molecules/NavigationMenuList.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuTrigger.svelte +16 -3
- package/dist/molecules/NavigationMenuTrigger.svelte.d.ts +2 -0
- package/dist/molecules/Page.svelte +8 -2
- package/dist/molecules/Page.svelte.d.ts +2 -0
- package/dist/molecules/PropsTable.svelte +6 -3
- package/dist/molecules/PropsTable.svelte.d.ts +2 -0
- package/dist/molecules/RadioGroup.svelte +5 -1
- package/dist/molecules/RadioGroup.svelte.d.ts +2 -0
- package/dist/molecules/Section.svelte +12 -4
- package/dist/molecules/Section.svelte.d.ts +3 -1
- package/dist/molecules/SidebarBrandHeader.svelte +13 -4
- package/dist/molecules/SidebarBrandHeader.svelte.d.ts +2 -0
- package/dist/molecules/SidebarFooter.svelte +12 -4
- package/dist/molecules/SidebarFooter.svelte.d.ts +2 -0
- package/dist/molecules/SidebarNavSection.svelte +12 -4
- package/dist/molecules/SidebarNavSection.svelte.d.ts +2 -0
- package/dist/molecules/SlideUp.svelte +85 -21
- package/dist/molecules/SlideUp.svelte.d.ts +5 -4
- package/dist/molecules/Tabs.svelte +25 -19
- package/dist/molecules/Tabs.svelte.d.ts +8 -4
- package/dist/molecules/Toaster.svelte +3 -2
- package/dist/molecules/ToasterToast.svelte +41 -10
- package/dist/molecules/ToasterToast.svelte.d.ts +2 -0
- package/dist/organisms/SidebarAccountPanel.svelte +4 -0
- package/dist/organisms/SidebarAccountPanel.svelte.d.ts +2 -0
- package/dist/organisms/SidebarNavigation.svelte +102 -59
- package/dist/organisms/SidebarNavigation.svelte.d.ts +2 -0
- package/dist/organisms/SidebarPanel.svelte +19 -11
- package/dist/organisms/SidebarPanel.svelte.d.ts +2 -0
- package/dist/organisms/SidebarShell.svelte +112 -0
- package/dist/organisms/SidebarShell.svelte.d.ts +52 -0
- package/dist/organisms/TopNavbar.svelte +88 -17
- package/dist/organisms/TopNavbar.svelte.d.ts +2 -0
- package/dist/organisms/index.d.ts +1 -0
- package/dist/organisms/index.js +1 -0
- package/dist/routes/lib/variant-utils.d.ts +26 -0
- package/dist/routes/lib/{variant-utils.ts → variant-utils.js} +15 -46
- package/dist/types/events.js +1 -0
- package/dist/types/index.js +3 -0
- package/dist/util/cn.d.ts +7 -0
- package/dist/util/cn.js +48 -0
- package/dist/util/ssr-safe.d.ts +4 -4
- package/dist/zabi-components-colors.css +2 -2
- package/dist/zabi-components-theme-dark-only.css +139 -92
- package/dist/zabi-components-theme-dark.css +139 -92
- package/dist/zabi-components-theme-only.css +268 -122
- package/dist/zabi-components-theme.css +268 -122
- package/dist/zabi-components.css +831 -883
- package/docs/lucide-icons.md +3 -1
- package/package.json +19 -24
- package/dist/lib/layout-width-tokens.d.ts +0 -17
- package/dist/lib/layout-width-tokens.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Button.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Button.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Input.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Input.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/List.d.ts +0 -3
- package/dist/lib/showcase/component-docs/List.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Modal.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Modal.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Radio.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Radio.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +0 -3
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Skeleton.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/_shared.d.ts +0 -12
- package/dist/lib/showcase/component-docs/_shared.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/index.d.ts +0 -4
- package/dist/lib/showcase/component-docs/index.d.ts.map +0 -1
- package/dist/lib/showcase/components-catalog.d.ts +0 -3
- package/dist/lib/showcase/components-catalog.d.ts.map +0 -1
- package/dist/lib/showcase/components-showcase-constants.d.ts +0 -89
- package/dist/lib/showcase/components-showcase-constants.d.ts.map +0 -1
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts +0 -15
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +0 -1
- package/dist/routes/lib/focus-utils.d.ts +0 -12
- package/dist/routes/lib/focus-utils.ts +0 -110
- package/dist/routes/lib/ssr-safe.ts +0 -58
- package/scripts/fix-lucide-svelte-icon-dts.js +0 -35
package/dist/util/cn.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { extendTailwindMerge } from "tailwind-merge";
|
|
2
|
+
/**
|
|
3
|
+
* Class merger for every component's final `class` value.
|
|
4
|
+
*
|
|
5
|
+
* The library promises that a call-site utility wins over the component's own.
|
|
6
|
+
* Plain concatenation does not deliver that: `rounded-control` and
|
|
7
|
+
* `rounded-container` are equal-specificity utilities, so the winner is
|
|
8
|
+
* whichever Tailwind emits later in the stylesheet, not whichever the caller
|
|
9
|
+
* passed. The sidebar's search field asked for `rounded-container` and rendered
|
|
10
|
+
* at 8px, because `rounded-control` happened to come later.
|
|
11
|
+
*
|
|
12
|
+
* tailwind-merge resolves conflicts by class group and keeps the last one, so
|
|
13
|
+
* the promise holds for real.
|
|
14
|
+
*
|
|
15
|
+
* Almost all of this repo's semantic utilities already work with the stock
|
|
16
|
+
* config — `bg-card` vs `bg-surface-overlay`, `text-headline` vs
|
|
17
|
+
* `text-description`, `border-border` vs `border-input-border` all resolve,
|
|
18
|
+
* because tailwind-merge treats an unrecognised colour-ish value as a colour.
|
|
19
|
+
* The radii are the exception: `control`, `container`, `overlay` and `pill` are
|
|
20
|
+
* role names, not scale values, so they have to be declared or tailwind-merge
|
|
21
|
+
* keeps both and we are back to stylesheet order deciding.
|
|
22
|
+
*/
|
|
23
|
+
const RADIUS_ROLES = ["control", "container", "overlay", "pill"];
|
|
24
|
+
/**
|
|
25
|
+
* Every corner group tailwind-merge knows about, so `rounded-t-overlay` on a
|
|
26
|
+
* sheet is still beaten by a call-site `rounded-t-control`. Declaring only the
|
|
27
|
+
* base `rounded` group silently leaves the per-side ones unmerged.
|
|
28
|
+
*/
|
|
29
|
+
const RADIUS_GROUPS = [
|
|
30
|
+
"rounded",
|
|
31
|
+
"rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l",
|
|
32
|
+
"rounded-ss", "rounded-se", "rounded-ee", "rounded-es",
|
|
33
|
+
"rounded-tl", "rounded-tr", "rounded-br", "rounded-bl",
|
|
34
|
+
];
|
|
35
|
+
const twMerge = extendTailwindMerge({
|
|
36
|
+
extend: {
|
|
37
|
+
classGroups: Object.fromEntries(RADIUS_GROUPS.map((group) => [group, [{ [group]: RADIUS_ROLES }]])),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Merge class values, last conflicting utility wins.
|
|
42
|
+
*
|
|
43
|
+
* Falsy entries are dropped, so `cn(base, isActive && activeClasses, className)`
|
|
44
|
+
* is safe.
|
|
45
|
+
*/
|
|
46
|
+
export function cn(...classes) {
|
|
47
|
+
return twMerge(classes.filter(Boolean).join(" "));
|
|
48
|
+
}
|
package/dist/util/ssr-safe.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export declare function safeDocument(): Document | undefined;
|
|
|
9
9
|
export declare function safeLocalStorage(): Storage | undefined;
|
|
10
10
|
export declare function safeSessionStorage(): Storage | undefined;
|
|
11
11
|
export declare function safeRequestAnimationFrame(callback: FrameRequestCallback): number | undefined;
|
|
12
|
-
export declare function safeSetTimeout(callback: () => void, delay: number):
|
|
13
|
-
export declare function safeClearTimeout(id:
|
|
14
|
-
export declare function safeSetInterval(callback: () => void, delay: number):
|
|
15
|
-
export declare function safeClearInterval(id:
|
|
12
|
+
export declare function safeSetTimeout(callback: () => void, delay: number): ReturnType<typeof setTimeout> | undefined;
|
|
13
|
+
export declare function safeClearTimeout(id: ReturnType<typeof setTimeout> | undefined): void;
|
|
14
|
+
export declare function safeSetInterval(callback: () => void, delay: number): ReturnType<typeof setInterval> | undefined;
|
|
15
|
+
export declare function safeClearInterval(id: ReturnType<typeof setInterval> | undefined): void;
|
|
16
16
|
export declare function generateId(prefix?: string): string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* zabi-components-colors — generated from src/app.css; edit app.css */
|
|
2
|
-
:root{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--font-family-sans:'Nunito Sans', ui-sans-serif, system-ui, sans-serif;--zabi-brand-50:#f7faff;--zabi-brand-100:#edf2fb;--zabi-brand-200:#dfe7fb;--zabi-brand-300:#ccdbfd;--zabi-brand-400:#abc4ff;--zabi-brand-500:#8fa8ff;--zabi-brand-600:#6e84fa;--zabi-brand-700:#5366e2;--zabi-brand-800:#3f4fc0;--zabi-brand-900:#2f3c99;--zabi-brand-950:#1f2866;--color-brand-50:var(--zabi-brand-50);--color-brand-100:var(--zabi-brand-100);--color-brand-200:var(--zabi-brand-200);--color-brand-300:var(--zabi-brand-300);--color-brand-400:var(--zabi-brand-400);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-600);--color-brand-700:var(--zabi-brand-700);--color-brand-800:var(--zabi-brand-800);--color-brand-900:var(--zabi-brand-900);--color-brand-950:var(--zabi-brand-950);--zabi-citron-50:#f9faeb;--zabi-citron-100:#f1f5cf;--zabi-citron-200:#e4ecaa;--zabi-citron-300:#d5e184;--zabi-citron-400:#c7d460;--zabi-citron-500:#bbbe64;--zabi-citron-600:#a3a852;--zabi-citron-700:#848a43;--zabi-citron-800:#666c35;--zabi-citron-900:#4d5229;--zabi-citron-950:#323518;--color-citron-50:var(--zabi-citron-50);--color-citron-100:var(--zabi-citron-100);--color-citron-200:var(--zabi-citron-200);--color-citron-300:var(--zabi-citron-300);--color-citron-400:var(--zabi-citron-400);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-600);--color-citron-700:var(--zabi-citron-700);--color-citron-800:var(--zabi-citron-800);--color-citron-900:var(--zabi-citron-900);--color-citron-950:var(--zabi-citron-950);--zabi-pine-50:#e9f6f2;--zabi-pine-100:#d2ece4;--zabi-pine-200:#a7d9c9;--zabi-pine-300:#78c4ad;--zabi-pine-400:#49ad91;--zabi-pine-500:#0c5d43;--zabi-pine-600:#0a513a;--zabi-pine-700:#084532;--zabi-pine-800:#063a2a;--zabi-pine-900:#04231a;--zabi-pine-950:#02160f;--color-pine-50:var(--zabi-pine-50);--color-pine-100:var(--zabi-pine-100);--color-pine-200:var(--zabi-pine-200);--color-pine-300:var(--zabi-pine-300);--color-pine-400:var(--zabi-pine-400);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-600);--color-pine-700:var(--zabi-pine-700);--color-pine-800:var(--zabi-pine-800);--color-pine-900:var(--zabi-pine-900);--color-pine-950:var(--zabi-pine-950);--zabi-iris-50:#f4f4fa;--zabi-iris-100:#e9e9f7;--zabi-iris-200:#d6d6f0;--zabi-iris-300:#bdbde6;--zabi-iris-400:#a3a3d8;--zabi-iris-500:#6969b3;--zabi-iris-600:#58589e;--zabi-iris-700:#474788;--zabi-iris-800:#38386f;--zabi-iris-900:#2a2a56;--zabi-iris-950:#1b1b37;--color-iris-50:var(--zabi-iris-50);--color-iris-100:var(--zabi-iris-100);--color-iris-200:var(--zabi-iris-200);--color-iris-300:var(--zabi-iris-300);--color-iris-400:var(--zabi-iris-400);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-600);--color-iris-700:var(--zabi-iris-700);--color-iris-800:var(--zabi-iris-800);--color-iris-900:var(--zabi-iris-900);--color-iris-950:var(--zabi-iris-950);--zabi-warning-50:#fffbeb;--zabi-warning-100:#fef3c7;--zabi-warning-200:#fde68a;--zabi-warning-300:#fcd34d;--zabi-warning-400:#fbbf24;--zabi-warning-500:#f59e0b;--zabi-warning-600:#d97706;--zabi-warning-700:#b45309;--zabi-warning-800:#92400e;--zabi-warning-900:#78350f;--zabi-warning-950:#451a03;--color-warning-50:var(--zabi-warning-50);--color-warning-100:var(--zabi-warning-100);--color-warning-200:var(--zabi-warning-200);--color-warning-300:var(--zabi-warning-300);--color-warning-400:var(--zabi-warning-400);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-600);--color-warning-700:var(--zabi-warning-700);--color-warning-800:var(--zabi-warning-800);--color-warning-900:var(--zabi-warning-900);--color-warning-950:var(--zabi-warning-950);--zabi-error-50:#fef2f2;--zabi-error-100:#fee2e2;--zabi-error-200:#fecaca;--zabi-error-300:#fca5a5;--zabi-error-400:#f87171;--zabi-error-500:#ef4444;--zabi-error-600:#dc2626;--zabi-error-700:#b91c1c;--zabi-error-800:#991b1b;--zabi-error-900:#7f1d1d;--zabi-error-950:#450a0a;--color-error-50:var(--zabi-error-50);--color-error-100:var(--zabi-error-100);--color-error-200:var(--zabi-error-200);--color-error-300:var(--zabi-error-300);--color-error-400:var(--zabi-error-400);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-600);--color-error-700:var(--zabi-error-700);--color-error-800:var(--zabi-error-800);--color-error-900:var(--zabi-error-900);--color-error-950:var(--zabi-error-950);--color-base-50:var(--zabi-base-50);--color-base-75:var(--zabi-base-75);--color-base-100:var(--zabi-base-100);--color-base-150:var(--zabi-base-150);--color-base-200:var(--zabi-base-200);--color-base-250:var(--zabi-base-250);--color-base-300:var(--zabi-base-300);--color-base-350:var(--zabi-base-350);--color-base-400:var(--zabi-base-400);--color-base-450:var(--zabi-base-450);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-550);--color-base-600:var(--zabi-base-600);--color-base-650:var(--zabi-base-650);--color-base-700:var(--zabi-base-700);--color-base-750:var(--zabi-base-750);--color-base-800:var(--zabi-base-800);--color-base-850:var(--zabi-base-850);--color-base-900:var(--zabi-base-900);--color-base-925:var(--zabi-base-925);--color-base-950:var(--zabi-base-950);--color-background:var(--color-base-100);--color-background-secondary:var(--color-base-50);--color-background-tertiary:var(--color-base-100);--color-page:var(--color-base-100);--color-page-secondary:var(--color-base-200);--color-card:#ffffff;--color-card-hover:var(--color-base-100);--color-card-active:var(--color-base-100);--color-card-elevated:#ffffff;--color-surface-1:#ffffff;--color-surface-2:var(--color-base-50);--color-surface-3:var(--color-base-75);--color-surface-4:var(--color-base-100);--color-overlay:rgba(0, 0, 0, 0.5);--color-input:var(--color-base-250);--color-input-border:var(--color-base-350);--color-input-hover:var(--color-base-300);--color-input-focus:var(--color-base-300);--color-input-disabled:var(--color-base-100);--color-headline:var(--color-base-900);--color-body:var(--color-base-800);--color-description:var(--color-base-600);--color-caption:var(--color-base-500);--color-input-placeholder:var(--color-base-400);--color-label:var(--color-base-700);--color-link:var(--color-brand-600);--color-link-hover:var(--color-brand-700);--color-nav-menu-item:var(--color-body);--color-nav-menu-item-hover:var(--color-headline);--color-nav-menu-item-active:var(--color-link);--color-nav-menu-hover:var(--color-base-100);--color-nav-menu-active:var(--color-action-primary-subtle);--color-nav-menu-focus:var(--color-brand-500);--color-success-text:var(--color-success);--color-warning-text:var(--color-warning-700);--color-neutral-text:var(--color-base-700);--color-energetic-text:var(--color-citron-700);--color-error-text:var(--color-error-700);--color-inverse:var(--color-base-100);--color-disabled:var(--color-base-400);--color-border:var(--color-base-300);--color-border-weak:var(--color-base-300);--color-border-medium:var(--color-base-400);--color-border-strong:var(--color-base-500);--color-focus:var(--color-brand-500);--color-focus-weak:var(--color-brand-600);--color-focus-medium:var(--color-brand-700);--color-focus-strong:var(--color-brand-800);--color-focus-ring:var(--color-focus);--color-focus-ring-offset:var(--color-card);--color-primary:var(--color-brand-600);--color-primary-weak:var(--color-brand-700);--color-primary-medium:var(--color-brand-800);--color-primary-strong:var(--color-brand-900);--color-secondary:var(--color-base-600);--color-secondary-weak:var(--color-base-700);--color-secondary-medium:var(--color-base-800);--color-secondary-strong:var(--color-base-900);--color-success:var(--color-pine-600);--color-success-weak:var(--color-pine-700);--color-success-medium:var(--color-pine-800);--color-success-strong:var(--color-pine-900);--color-warning:var(--color-warning-500);--color-warning-weak:var(--color-warning-600);--color-warning-medium:var(--color-warning-400);--color-warning-strong:var(--color-warning-300);--color-error:var(--color-error-500);--color-error-weak:var(--color-error-600);--color-error-medium:var(--color-error-400);--color-error-strong:var(--color-error-300);--color-energetic:var(--color-citron-500);--color-energetic-weak:var(--color-citron-600);--color-energetic-medium:var(--color-citron-400);--color-energetic-strong:var(--color-citron-300);--color-neutral:var(--color-base-600);--color-neutral-weak:var(--color-base-700);--color-neutral-medium:var(--color-base-800);--color-neutral-strong:var(--color-base-900);--color-info:var(--color-iris-600);--color-info-weak:var(--color-iris-700);--color-info-medium:var(--color-iris-800);--color-info-strong:var(--color-iris-900);--color-info-active:var(--color-iris-400);--color-info-text:var(--color-info);--color-action-primary:var(--color-brand-950);--color-action-primary-hover:var(--color-brand-900);--color-action-primary-active:var(--color-brand-400);--color-action-primary-disabled:var(--color-brand-500);--color-action-primary-subtle:var(--color-brand-100);--color-action-primary-subtle-hover:var(--color-brand-200);--color-action-primary-text:var(--color-brand-50);--color-action-secondary:color-mix(in srgb, var(--color-brand-800) 10%, transparent);--color-action-secondary-hover:color-mix(in srgb, var(--color-brand-800) 20%, transparent);--color-action-secondary-active:var(--color-brand-400);--color-action-secondary-disabled:var(--color-brand-500);--color-action-secondary-subtle:var(--color-brand-600);--color-action-secondary-subtle-hover:var(--color-brand-700);--color-action-danger:#dc2626;--color-action-danger-hover:#b91c1c;--color-action-danger-active:#991b1b;--color-action-danger-disabled:#fca5a5;--color-action-danger-subtle:#fef2f2;--color-action-danger-subtle-hover:#fee2e2;--shadow-color:0 0 0;--shadow-opacity:0.1;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--color-tooltip-bg:var(--color-base-800);--color-tooltip-fg:var(--color-base-50);}
|
|
3
|
-
.dark{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--zabi-brand-50:#
|
|
2
|
+
:root{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--font-family-sans:'Nunito Sans', ui-sans-serif, system-ui, sans-serif;--zabi-brand-50:#f4f6ff;--zabi-brand-100:#e9eeff;--zabi-brand-200:#d3dcff;--zabi-brand-300:#b5c6ff;--zabi-brand-400:#92a9ff;--zabi-brand-500:#6d87f1;--zabi-brand-600:#4f68da;--zabi-brand-700:#3c52ba;--zabi-brand-800:#2b3e95;--zabi-brand-900:#1c2c6d;--zabi-brand-950:#111d49;--color-brand-50:var(--zabi-brand-50);--color-brand-100:var(--zabi-brand-100);--color-brand-200:var(--zabi-brand-200);--color-brand-300:var(--zabi-brand-300);--color-brand-400:var(--zabi-brand-400);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-600);--color-brand-700:var(--zabi-brand-700);--color-brand-800:var(--zabi-brand-800);--color-brand-900:var(--zabi-brand-900);--color-brand-950:var(--zabi-brand-950);--zabi-citron-50:#f6f7ef;--zabi-citron-100:#edefdf;--zabi-citron-200:#dcdfbf;--zabi-citron-300:#c5ca95;--zabi-citron-400:#aab063;--zabi-citron-500:#8c9027;--zabi-citron-600:#707400;--zabi-citron-700:#5a5d00;--zabi-citron-800:#454700;--zabi-citron-900:#313200;--zabi-citron-950:#202100;--color-citron-50:var(--zabi-citron-50);--color-citron-100:var(--zabi-citron-100);--color-citron-200:var(--zabi-citron-200);--color-citron-300:var(--zabi-citron-300);--color-citron-400:var(--zabi-citron-400);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-600);--color-citron-700:var(--zabi-citron-700);--color-citron-800:var(--zabi-citron-800);--color-citron-900:var(--zabi-citron-900);--color-citron-950:var(--zabi-citron-950);--zabi-pine-50:#f0f8f5;--zabi-pine-100:#e2f1eb;--zabi-pine-200:#c5e4d7;--zabi-pine-300:#9fd1bd;--zabi-pine-400:#70ba9e;--zabi-pine-500:#399c7a;--zabi-pine-600:#00805e;--zabi-pine-700:#00674a;--zabi-pine-800:#004f37;--zabi-pine-900:#003826;--zabi-pine-950:#002518;--color-pine-50:var(--zabi-pine-50);--color-pine-100:var(--zabi-pine-100);--color-pine-200:var(--zabi-pine-200);--color-pine-300:var(--zabi-pine-300);--color-pine-400:var(--zabi-pine-400);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-600);--color-pine-700:var(--zabi-pine-700);--color-pine-800:var(--zabi-pine-800);--color-pine-900:var(--zabi-pine-900);--color-pine-950:var(--zabi-pine-950);--zabi-iris-50:#f6f6fd;--zabi-iris-100:#ecedfb;--zabi-iris-200:#dadbf6;--zabi-iris-300:#c1c4ef;--zabi-iris-400:#a5a7e2;--zabi-iris-500:#8486cd;--zabi-iris-600:#6969b4;--zabi-iris-700:#535397;--zabi-iris-800:#3f3f78;--zabi-iris-900:#2c2c58;--zabi-iris-950:#1d1d3a;--color-iris-50:var(--zabi-iris-50);--color-iris-100:var(--zabi-iris-100);--color-iris-200:var(--zabi-iris-200);--color-iris-300:var(--zabi-iris-300);--color-iris-400:var(--zabi-iris-400);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-600);--color-iris-700:var(--zabi-iris-700);--color-iris-800:var(--zabi-iris-800);--color-iris-900:var(--zabi-iris-900);--color-iris-950:var(--zabi-iris-950);--zabi-warning-50:#fbf6ed;--zabi-warning-100:#f7ecda;--zabi-warning-200:#f1d9b6;--zabi-warning-300:#e8bf87;--zabi-warning-400:#db9e4c;--zabi-warning-500:#c17b00;--zabi-warning-600:#9e6000;--zabi-warning-700:#824c00;--zabi-warning-800:#663800;--zabi-warning-900:#4b2600;--zabi-warning-950:#341800;--color-warning-50:var(--zabi-warning-50);--color-warning-100:var(--zabi-warning-100);--color-warning-200:var(--zabi-warning-200);--color-warning-300:var(--zabi-warning-300);--color-warning-400:var(--zabi-warning-400);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-600);--color-warning-700:var(--zabi-warning-700);--color-warning-800:var(--zabi-warning-800);--color-warning-900:var(--zabi-warning-900);--color-warning-950:var(--zabi-warning-950);--zabi-error-50:#fff4f3;--zabi-error-100:#ffe9e6;--zabi-error-200:#ffd2cd;--zabi-error-300:#ffb2ab;--zabi-error-400:#ff877d;--zabi-error-500:#ed564e;--zabi-error-600:#d22828;--zabi-error-700:#b20912;--zabi-error-800:#8c0006;--zabi-error-900:#660002;--zabi-error-950:#460202;--color-error-50:var(--zabi-error-50);--color-error-100:var(--zabi-error-100);--color-error-200:var(--zabi-error-200);--color-error-300:var(--zabi-error-300);--color-error-400:var(--zabi-error-400);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-600);--color-error-700:var(--zabi-error-700);--color-error-800:var(--zabi-error-800);--color-error-900:var(--zabi-error-900);--color-error-950:var(--zabi-error-950);--color-base-50:var(--zabi-base-50);--color-base-75:var(--zabi-base-75);--color-base-100:var(--zabi-base-100);--color-base-150:var(--zabi-base-150);--color-base-200:var(--zabi-base-200);--color-base-250:var(--zabi-base-250);--color-base-300:var(--zabi-base-300);--color-base-350:var(--zabi-base-350);--color-base-400:var(--zabi-base-400);--color-base-450:var(--zabi-base-450);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-550);--color-base-600:var(--zabi-base-600);--color-base-650:var(--zabi-base-650);--color-base-700:var(--zabi-base-700);--color-base-750:var(--zabi-base-750);--color-base-800:var(--zabi-base-800);--color-base-850:var(--zabi-base-850);--color-base-900:var(--zabi-base-900);--color-base-925:var(--zabi-base-925);--color-base-950:var(--zabi-base-950);--color-surface-base:var(--color-base-100);--color-surface-raised:#ffffff;--color-surface-elevated:var(--color-base-50);--color-surface-overlay:#ffffff;--color-surface-overlay-hover:var(--color-base-100);--color-border-overlay:transparent;--color-background:var(--color-surface-base);--color-background-secondary:var(--color-base-50);--color-background-tertiary:var(--color-base-100);--color-page:var(--color-base-100);--color-page-secondary:var(--color-base-200);--color-card:var(--color-surface-raised);--color-card-hover:var(--color-base-100);--color-card-active:var(--color-base-100);--color-card-elevated:var(--color-surface-overlay);--color-surface-1:var(--color-surface-raised);--color-surface-2:var(--color-surface-elevated);--color-surface-3:var(--color-base-75);--color-surface-4:var(--color-base-100);--color-control-track:var(--color-base-400);--color-control-track-hover:var(--color-base-450);--color-control-track-active:var(--color-base-500);--color-surface-hover:rgba(9, 9, 11, 0.06);--color-surface-active:rgba(9, 9, 11, 0.11);--color-overlay:rgba(0, 0, 0, 0.5);--color-input:var(--color-surface-raised);--color-input-border:var(--color-base-350);--color-input-hover:var(--color-base-150);--color-input-focus:var(--color-surface-raised);--color-input-disabled:var(--color-base-100);--color-headline:var(--color-base-900);--color-body:var(--color-base-800);--color-description:var(--color-base-600);--color-caption:var(--color-base-550);--color-input-placeholder:var(--color-base-500);--color-label:var(--color-base-700);--color-link:var(--color-brand-700);--color-link-hover:var(--color-brand-800);--color-nav-menu-item:var(--color-body);--color-nav-menu-item-hover:var(--color-headline);--color-nav-menu-item-active:var(--color-link);--color-nav-menu-hover:var(--color-surface-hover);--color-nav-menu-active:var(--color-action-primary-subtle);--color-nav-menu-active-hover:var(--color-action-primary-subtle-hover);--color-nav-menu-focus:var(--color-brand-500);--color-success-text:var(--color-pine-700);--color-warning-text:var(--color-warning-700);--color-neutral-text:var(--color-base-700);--color-energetic-text:var(--color-citron-700);--color-error-text:var(--color-error-700);--color-inverse:var(--color-base-100);--color-disabled:var(--color-base-400);--color-border:var(--color-base-300);--color-border-weak:var(--color-base-300);--color-border-medium:var(--color-base-400);--color-border-strong:var(--color-base-500);--color-focus:var(--color-brand-500);--color-focus-weak:var(--color-brand-600);--color-focus-medium:var(--color-brand-700);--color-focus-strong:var(--color-brand-800);--color-focus-ring:var(--color-focus);--color-focus-ring-offset:var(--color-card);--color-primary:var(--color-brand-600);--color-primary-weak:var(--color-brand-700);--color-primary-medium:var(--color-brand-800);--color-primary-strong:var(--color-brand-900);--color-secondary:var(--color-base-600);--color-secondary-weak:var(--color-base-700);--color-secondary-medium:var(--color-base-800);--color-secondary-strong:var(--color-base-900);--color-success:var(--color-pine-600);--color-success-weak:var(--color-pine-700);--color-success-medium:var(--color-pine-800);--color-success-strong:var(--color-pine-900);--color-success-subtle:var(--color-pine-100);--color-success-border:var(--color-pine-200);--color-warning:var(--color-warning-600);--color-warning-weak:var(--color-warning-700);--color-warning-medium:var(--color-warning-800);--color-warning-strong:var(--color-warning-900);--color-warning-subtle:var(--color-warning-100);--color-warning-border:var(--color-warning-200);--color-error:var(--color-error-600);--color-error-weak:var(--color-error-700);--color-error-medium:var(--color-error-800);--color-error-strong:var(--color-error-900);--color-error-subtle:var(--color-error-100);--color-error-border:var(--color-error-200);--color-energetic:var(--color-citron-600);--color-energetic-weak:var(--color-citron-700);--color-energetic-medium:var(--color-citron-800);--color-energetic-strong:var(--color-citron-900);--color-energetic-subtle:var(--color-citron-100);--color-energetic-border:var(--color-citron-200);--color-neutral:var(--color-base-550);--color-neutral-weak:var(--color-base-600);--color-neutral-medium:var(--color-base-700);--color-neutral-strong:var(--color-base-900);--color-neutral-subtle:var(--color-base-200);--color-neutral-border:var(--color-base-200);--color-info:var(--color-iris-600);--color-info-weak:var(--color-iris-700);--color-info-medium:var(--color-iris-800);--color-info-strong:var(--color-iris-900);--color-info-active:var(--color-iris-400);--color-info-subtle:var(--color-iris-100);--color-info-border:var(--color-iris-200);--color-info-text:var(--color-iris-700);--color-action-primary:var(--color-brand-600);--color-action-primary-hover:var(--color-brand-700);--color-action-primary-active:var(--color-brand-800);--color-action-primary-subtle:var(--color-brand-100);--color-action-primary-subtle-hover:var(--color-brand-200);--color-action-primary-text:#ffffff;--color-action-secondary:rgba(9, 9, 11, 0.07);--color-action-secondary-hover:rgba(9, 9, 11, 0.12);--color-action-secondary-active:rgba(9, 9, 11, 0.17);--color-action-secondary-subtle:var(--color-base-100);--color-action-secondary-subtle-hover:var(--color-base-200);--color-action-secondary-text:var(--color-headline);--color-action-disabled:var(--color-base-200);--color-action-disabled-text:var(--color-base-500);--color-action-disabled-border:var(--color-base-250);--color-action-danger:var(--color-error-600);--color-action-danger-hover:var(--color-error-700);--color-action-danger-active:var(--color-error-800);--color-action-danger-subtle:var(--color-error-100);--color-action-danger-subtle-hover:var(--color-error-200);--color-action-danger-text:var(--color-error-50);--shadow-color:0 0 0;--shadow-opacity:0.1;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--max-width-xs:20rem;--max-width-sm:24rem;--max-width-md:28rem;--max-width-lg:32rem;--max-width-xl:36rem;--max-width-2xl:42rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--min-width-xs:20rem;--min-width-sm:24rem;--min-width-md:28rem;--min-width-lg:32rem;--min-width-xl:36rem;--min-width-2xl:42rem;--radius-control:0.5rem;--radius-container:0.75rem;--radius-overlay:1rem;--radius-pill:9999px;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--control-height-sm:2rem;--control-height-md:2.5rem;--control-height-lg:3rem;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--color-tooltip-bg:var(--color-base-800);--color-tooltip-fg:var(--color-base-50);}
|
|
3
|
+
.dark{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--zabi-brand-50:#f4f6ff;--zabi-brand-100:#e9eeff;--zabi-brand-200:#d3dcff;--zabi-brand-300:#b5c6ff;--zabi-brand-400:#92a9ff;--zabi-brand-500:#6d87f1;--zabi-brand-600:#4f68da;--zabi-brand-700:#3c52ba;--zabi-brand-800:#2b3e95;--zabi-brand-900:#1c2c6d;--zabi-brand-950:#111d49;--color-brand-50:var(--zabi-brand-950);--color-brand-100:var(--zabi-brand-900);--color-brand-200:var(--zabi-brand-800);--color-brand-300:var(--zabi-brand-700);--color-brand-400:var(--zabi-brand-600);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-400);--color-brand-700:var(--zabi-brand-300);--color-brand-800:var(--zabi-brand-200);--color-brand-900:var(--zabi-brand-100);--color-brand-950:var(--zabi-brand-50);--zabi-citron-50:#f6f7ef;--zabi-citron-100:#edefdf;--zabi-citron-200:#dcdfbf;--zabi-citron-300:#c5ca95;--zabi-citron-400:#aab063;--zabi-citron-500:#8c9027;--zabi-citron-600:#707400;--zabi-citron-700:#5a5d00;--zabi-citron-800:#454700;--zabi-citron-900:#313200;--zabi-citron-950:#202100;--color-citron-50:var(--zabi-citron-950);--color-citron-100:var(--zabi-citron-900);--color-citron-200:var(--zabi-citron-800);--color-citron-300:var(--zabi-citron-700);--color-citron-400:var(--zabi-citron-600);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-400);--color-citron-700:var(--zabi-citron-300);--color-citron-800:var(--zabi-citron-200);--color-citron-900:var(--zabi-citron-100);--color-citron-950:var(--zabi-citron-50);--zabi-pine-50:#f0f8f5;--zabi-pine-100:#e2f1eb;--zabi-pine-200:#c5e4d7;--zabi-pine-300:#9fd1bd;--zabi-pine-400:#70ba9e;--zabi-pine-500:#399c7a;--zabi-pine-600:#00805e;--zabi-pine-700:#00674a;--zabi-pine-800:#004f37;--zabi-pine-900:#003826;--zabi-pine-950:#002518;--color-pine-50:var(--zabi-pine-950);--color-pine-100:var(--zabi-pine-900);--color-pine-200:var(--zabi-pine-800);--color-pine-300:var(--zabi-pine-700);--color-pine-400:var(--zabi-pine-600);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-400);--color-pine-700:var(--zabi-pine-300);--color-pine-800:var(--zabi-pine-200);--color-pine-900:var(--zabi-pine-100);--color-pine-950:var(--zabi-pine-50);--zabi-iris-50:#f6f6fd;--zabi-iris-100:#ecedfb;--zabi-iris-200:#dadbf6;--zabi-iris-300:#c1c4ef;--zabi-iris-400:#a5a7e2;--zabi-iris-500:#8486cd;--zabi-iris-600:#6969b4;--zabi-iris-700:#535397;--zabi-iris-800:#3f3f78;--zabi-iris-900:#2c2c58;--zabi-iris-950:#1d1d3a;--color-iris-50:var(--zabi-iris-950);--color-iris-100:var(--zabi-iris-900);--color-iris-200:var(--zabi-iris-800);--color-iris-300:var(--zabi-iris-700);--color-iris-400:var(--zabi-iris-600);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-400);--color-iris-700:var(--zabi-iris-300);--color-iris-800:var(--zabi-iris-200);--color-iris-900:var(--zabi-iris-100);--color-iris-950:var(--zabi-iris-50);--zabi-warning-50:#fbf6ed;--zabi-warning-100:#f7ecda;--zabi-warning-200:#f1d9b6;--zabi-warning-300:#e8bf87;--zabi-warning-400:#db9e4c;--zabi-warning-500:#c17b00;--zabi-warning-600:#9e6000;--zabi-warning-700:#824c00;--zabi-warning-800:#663800;--zabi-warning-900:#4b2600;--zabi-warning-950:#341800;--color-warning-50:var(--zabi-warning-950);--color-warning-100:var(--zabi-warning-900);--color-warning-200:var(--zabi-warning-800);--color-warning-300:var(--zabi-warning-700);--color-warning-400:var(--zabi-warning-600);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-400);--color-warning-700:var(--zabi-warning-300);--color-warning-800:var(--zabi-warning-200);--color-warning-900:var(--zabi-warning-100);--color-warning-950:var(--zabi-warning-50);--zabi-error-50:#fff4f3;--zabi-error-100:#ffe9e6;--zabi-error-200:#ffd2cd;--zabi-error-300:#ffb2ab;--zabi-error-400:#ff877d;--zabi-error-500:#ed564e;--zabi-error-600:#d22828;--zabi-error-700:#b20912;--zabi-error-800:#8c0006;--zabi-error-900:#660002;--zabi-error-950:#460202;--color-error-50:var(--zabi-error-950);--color-error-100:var(--zabi-error-900);--color-error-200:var(--zabi-error-800);--color-error-300:var(--zabi-error-700);--color-error-400:var(--zabi-error-600);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-400);--color-error-700:var(--zabi-error-300);--color-error-800:var(--zabi-error-200);--color-error-900:var(--zabi-error-100);--color-error-950:var(--zabi-error-50);--color-base-50:#09090b;--color-base-75:#101013;--color-base-100:#18181b;--color-base-150:#1f1f22;--color-base-200:#27272a;--color-base-250:#333338;--color-base-300:#3f3f46;--color-base-350:#484850;--color-base-400:#52525b;--color-base-450:#61616a;--color-base-500:#71717a;--color-base-550:#898992;--color-base-600:#a1a1aa;--color-base-650:#babac1;--color-base-700:#d4d4d8;--color-base-750:#dcdcdf;--color-base-800:#e4e4e7;--color-base-850:#ececee;--color-base-900:#f4f4f5;--color-base-925:#f7f7f7;--color-base-950:#fafafa;--color-surface-base:#18181b;--color-surface-raised:#262629;--color-surface-elevated:#363638;--color-surface-overlay:#454547;--color-surface-overlay-hover:#52525b;--color-neutral-subtle:var(--color-base-300);--color-border-overlay:var(--color-base-450);--color-background:var(--color-surface-base);--color-card:var(--color-surface-raised);--color-card-hover:var(--color-surface-elevated);--color-card-active:var(--color-surface-overlay);--color-card-elevated:var(--color-surface-elevated);--color-surface-1:var(--color-surface-raised);--color-surface-2:var(--color-surface-elevated);--color-surface-3:var(--color-surface-overlay);--color-surface-4:var(--color-base-400);--color-description:var(--color-base-700);--color-caption:var(--color-base-650);--color-surface-hover:rgba(250, 250, 250, 0.08);--color-surface-active:rgba(250, 250, 250, 0.14);--color-overlay:rgba(0, 0, 0, 0.7);--color-input:var(--color-base-150);--color-input-border:var(--color-base-300);--color-input-hover:var(--color-base-200);--color-input-focus:var(--color-base-150);--color-input-disabled:var(--color-base-100);--color-input-placeholder:var(--color-base-500);--color-neutral:var(--color-base-600);--color-action-primary-text:var(--zabi-brand-950);--color-action-secondary:rgba(250, 250, 250, 0.09);--color-action-secondary-hover:rgba(250, 250, 250, 0.15);--color-action-secondary-active:rgba(250, 250, 250, 0.21);--color-action-danger:var(--color-error-600);--color-action-danger-hover:var(--color-error-700);--color-action-danger-active:var(--color-error-800);--color-action-danger-subtle:var(--color-error-100);--color-action-danger-subtle-hover:var(--color-error-200);--color-action-danger-text:var(--color-error-50);--shadow-opacity:0.3;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));}
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
--zabi-base-925: #101013
|
|
25
25
|
--zabi-base-950: #09090b
|
|
26
26
|
/* Mirror @theme --zabi-brand-* ramp (same physical hex; required for standalone dark import) */
|
|
27
|
-
--zabi-brand-50: #
|
|
28
|
-
--zabi-brand-100: #
|
|
29
|
-
--zabi-brand-200: #
|
|
30
|
-
--zabi-brand-300: #
|
|
31
|
-
--zabi-brand-400: #
|
|
32
|
-
--zabi-brand-500: #
|
|
33
|
-
--zabi-brand-600: #
|
|
34
|
-
--zabi-brand-700: #
|
|
35
|
-
--zabi-brand-800: #
|
|
36
|
-
--zabi-brand-900: #
|
|
37
|
-
--zabi-brand-950: #
|
|
27
|
+
--zabi-brand-50: #f4f6ff
|
|
28
|
+
--zabi-brand-100: #e9eeff
|
|
29
|
+
--zabi-brand-200: #d3dcff
|
|
30
|
+
--zabi-brand-300: #b5c6ff
|
|
31
|
+
--zabi-brand-400: #92a9ff
|
|
32
|
+
--zabi-brand-500: #6d87f1
|
|
33
|
+
--zabi-brand-600: #4f68da
|
|
34
|
+
--zabi-brand-700: #3c52ba
|
|
35
|
+
--zabi-brand-800: #2b3e95
|
|
36
|
+
--zabi-brand-900: #1c2c6d
|
|
37
|
+
--zabi-brand-950: #111d49
|
|
38
38
|
/* Brand Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
39
39
|
--color-brand-50: var(--zabi-brand-950)
|
|
40
40
|
--color-brand-100: var(--zabi-brand-900)
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
--color-brand-900: var(--zabi-brand-100)
|
|
49
49
|
--color-brand-950: var(--zabi-brand-50)
|
|
50
50
|
/* Mirror @theme --zabi-citron-* ramp (same physical hex; required for standalone dark import) */
|
|
51
|
-
--zabi-citron-50: #
|
|
52
|
-
--zabi-citron-100: #
|
|
53
|
-
--zabi-citron-200: #
|
|
54
|
-
--zabi-citron-300: #
|
|
55
|
-
--zabi-citron-400: #
|
|
56
|
-
--zabi-citron-500: #
|
|
57
|
-
--zabi-citron-600: #
|
|
58
|
-
--zabi-citron-700: #
|
|
59
|
-
--zabi-citron-800: #
|
|
60
|
-
--zabi-citron-900: #
|
|
61
|
-
--zabi-citron-950: #
|
|
51
|
+
--zabi-citron-50: #f6f7ef
|
|
52
|
+
--zabi-citron-100: #edefdf
|
|
53
|
+
--zabi-citron-200: #dcdfbf
|
|
54
|
+
--zabi-citron-300: #c5ca95
|
|
55
|
+
--zabi-citron-400: #aab063
|
|
56
|
+
--zabi-citron-500: #8c9027
|
|
57
|
+
--zabi-citron-600: #707400
|
|
58
|
+
--zabi-citron-700: #5a5d00
|
|
59
|
+
--zabi-citron-800: #454700
|
|
60
|
+
--zabi-citron-900: #313200
|
|
61
|
+
--zabi-citron-950: #202100
|
|
62
62
|
/* Citron Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
63
63
|
--color-citron-50: var(--zabi-citron-950)
|
|
64
64
|
--color-citron-100: var(--zabi-citron-900)
|
|
@@ -72,17 +72,17 @@
|
|
|
72
72
|
--color-citron-900: var(--zabi-citron-100)
|
|
73
73
|
--color-citron-950: var(--zabi-citron-50)
|
|
74
74
|
/* Mirror @theme --zabi-pine-* ramp (same physical hex; required for standalone dark import) */
|
|
75
|
-
--zabi-pine-50: #
|
|
76
|
-
--zabi-pine-100: #
|
|
77
|
-
--zabi-pine-200: #
|
|
78
|
-
--zabi-pine-300: #
|
|
79
|
-
--zabi-pine-400: #
|
|
80
|
-
--zabi-pine-500: #
|
|
81
|
-
--zabi-pine-600: #
|
|
82
|
-
--zabi-pine-700: #
|
|
83
|
-
--zabi-pine-800: #
|
|
84
|
-
--zabi-pine-900: #
|
|
85
|
-
--zabi-pine-950: #
|
|
75
|
+
--zabi-pine-50: #f0f8f5
|
|
76
|
+
--zabi-pine-100: #e2f1eb
|
|
77
|
+
--zabi-pine-200: #c5e4d7
|
|
78
|
+
--zabi-pine-300: #9fd1bd
|
|
79
|
+
--zabi-pine-400: #70ba9e
|
|
80
|
+
--zabi-pine-500: #399c7a
|
|
81
|
+
--zabi-pine-600: #00805e
|
|
82
|
+
--zabi-pine-700: #00674a
|
|
83
|
+
--zabi-pine-800: #004f37
|
|
84
|
+
--zabi-pine-900: #003826
|
|
85
|
+
--zabi-pine-950: #002518
|
|
86
86
|
/* Pine Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
87
87
|
--color-pine-50: var(--zabi-pine-950)
|
|
88
88
|
--color-pine-100: var(--zabi-pine-900)
|
|
@@ -96,17 +96,17 @@
|
|
|
96
96
|
--color-pine-900: var(--zabi-pine-100)
|
|
97
97
|
--color-pine-950: var(--zabi-pine-50)
|
|
98
98
|
/* Mirror @theme --zabi-iris-* ramp (same physical hex; required for standalone dark import) */
|
|
99
|
-
--zabi-iris-50: #
|
|
100
|
-
--zabi-iris-100: #
|
|
101
|
-
--zabi-iris-200: #
|
|
102
|
-
--zabi-iris-300: #
|
|
103
|
-
--zabi-iris-400: #
|
|
104
|
-
--zabi-iris-500: #
|
|
105
|
-
--zabi-iris-600: #
|
|
106
|
-
--zabi-iris-700: #
|
|
107
|
-
--zabi-iris-800: #
|
|
108
|
-
--zabi-iris-900: #
|
|
109
|
-
--zabi-iris-950: #
|
|
99
|
+
--zabi-iris-50: #f6f6fd
|
|
100
|
+
--zabi-iris-100: #ecedfb
|
|
101
|
+
--zabi-iris-200: #dadbf6
|
|
102
|
+
--zabi-iris-300: #c1c4ef
|
|
103
|
+
--zabi-iris-400: #a5a7e2
|
|
104
|
+
--zabi-iris-500: #8486cd
|
|
105
|
+
--zabi-iris-600: #6969b4
|
|
106
|
+
--zabi-iris-700: #535397
|
|
107
|
+
--zabi-iris-800: #3f3f78
|
|
108
|
+
--zabi-iris-900: #2c2c58
|
|
109
|
+
--zabi-iris-950: #1d1d3a
|
|
110
110
|
/* Iris Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
111
111
|
--color-iris-50: var(--zabi-iris-950)
|
|
112
112
|
--color-iris-100: var(--zabi-iris-900)
|
|
@@ -120,17 +120,17 @@
|
|
|
120
120
|
--color-iris-900: var(--zabi-iris-100)
|
|
121
121
|
--color-iris-950: var(--zabi-iris-50)
|
|
122
122
|
/* Mirror @theme --zabi-warning-* ramp (same physical hex; required for standalone dark import) */
|
|
123
|
-
--zabi-warning-50: #
|
|
124
|
-
--zabi-warning-100: #
|
|
125
|
-
--zabi-warning-200: #
|
|
126
|
-
--zabi-warning-300: #
|
|
127
|
-
--zabi-warning-400: #
|
|
128
|
-
--zabi-warning-500: #
|
|
129
|
-
--zabi-warning-600: #
|
|
130
|
-
--zabi-warning-700: #
|
|
131
|
-
--zabi-warning-800: #
|
|
132
|
-
--zabi-warning-900: #
|
|
133
|
-
--zabi-warning-950: #
|
|
123
|
+
--zabi-warning-50: #fbf6ed
|
|
124
|
+
--zabi-warning-100: #f7ecda
|
|
125
|
+
--zabi-warning-200: #f1d9b6
|
|
126
|
+
--zabi-warning-300: #e8bf87
|
|
127
|
+
--zabi-warning-400: #db9e4c
|
|
128
|
+
--zabi-warning-500: #c17b00
|
|
129
|
+
--zabi-warning-600: #9e6000
|
|
130
|
+
--zabi-warning-700: #824c00
|
|
131
|
+
--zabi-warning-800: #663800
|
|
132
|
+
--zabi-warning-900: #4b2600
|
|
133
|
+
--zabi-warning-950: #341800
|
|
134
134
|
/* Warning Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
135
135
|
--color-warning-50: var(--zabi-warning-950)
|
|
136
136
|
--color-warning-100: var(--zabi-warning-900)
|
|
@@ -144,17 +144,17 @@
|
|
|
144
144
|
--color-warning-900: var(--zabi-warning-100)
|
|
145
145
|
--color-warning-950: var(--zabi-warning-50)
|
|
146
146
|
/* Mirror @theme --zabi-error-* ramp (same physical hex; required for standalone dark import) */
|
|
147
|
-
--zabi-error-50: #
|
|
148
|
-
--zabi-error-100: #
|
|
149
|
-
--zabi-error-200: #
|
|
150
|
-
--zabi-error-300: #
|
|
151
|
-
--zabi-error-400: #
|
|
152
|
-
--zabi-error-500: #
|
|
153
|
-
--zabi-error-600: #
|
|
154
|
-
--zabi-error-700: #
|
|
155
|
-
--zabi-error-800: #
|
|
156
|
-
--zabi-error-900: #
|
|
157
|
-
--zabi-error-950: #
|
|
147
|
+
--zabi-error-50: #fff4f3
|
|
148
|
+
--zabi-error-100: #ffe9e6
|
|
149
|
+
--zabi-error-200: #ffd2cd
|
|
150
|
+
--zabi-error-300: #ffb2ab
|
|
151
|
+
--zabi-error-400: #ff877d
|
|
152
|
+
--zabi-error-500: #ed564e
|
|
153
|
+
--zabi-error-600: #d22828
|
|
154
|
+
--zabi-error-700: #b20912
|
|
155
|
+
--zabi-error-800: #8c0006
|
|
156
|
+
--zabi-error-900: #660002
|
|
157
|
+
--zabi-error-950: #460202
|
|
158
158
|
/* Error Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
159
159
|
--color-error-50: var(--zabi-error-950)
|
|
160
160
|
--color-error-100: var(--zabi-error-900)
|
|
@@ -191,24 +191,58 @@
|
|
|
191
191
|
--color-base-950: #fafafa
|
|
192
192
|
/* Background Colors - No dark mode overrides needed, base colors are already inverted */
|
|
193
193
|
/* Page Colors - No dark mode overrides needed, base colors are already inverted */
|
|
194
|
-
/*
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
--color-surface-
|
|
194
|
+
/* Surface elevation — shadows don't read on dark, so each level steps up +6 OKLCH lightness
|
|
195
|
+
* from the page background (L 21 → 27 → 33 → 39).
|
|
196
|
+
*
|
|
197
|
+
* GENERATED by scripts/generate-surfaces.js from tokens/surface-ladder.js — do not hand-edit.
|
|
198
|
+
* Each level is #fafafa (the same light as the dark hover tint) washed over the page at
|
|
199
|
+
* 6.4% / 13.1% / 19.7%, so every level is the one below it with more light on it. Baked to
|
|
200
|
+
* opaque hex so the static checks can still resolve them and a modal stays opaque.
|
|
201
|
+
* Enforced by scripts/check-surface-elevation.js (strictly increasing, 5–8 points). */
|
|
202
|
+
--color-surface-base: #18181b
|
|
203
|
+
--color-surface-raised: #262629
|
|
204
|
+
--color-surface-elevated: #363638
|
|
205
|
+
--color-surface-overlay: #454547
|
|
206
|
+
--color-surface-overlay-hover: #52525b
|
|
207
|
+
/* Distinct from base, raised AND elevated — a neutral chip has no hue to
|
|
208
|
+
* separate it, so it has to separate on lightness wherever it lands. */
|
|
209
|
+
--color-neutral-subtle: var(--color-base-300)
|
|
210
|
+
--color-border-overlay: var(--color-base-450)
|
|
211
|
+
/* Background Colors */
|
|
212
|
+
--color-background: var(--color-surface-base)
|
|
213
|
+
/* Card Colors — aliases of the surface levels */
|
|
214
|
+
--color-card: var(--color-surface-raised)
|
|
215
|
+
--color-card-hover: var(--color-surface-elevated)
|
|
216
|
+
--color-card-active: var(--color-surface-overlay)
|
|
217
|
+
--color-card-elevated: var(--color-surface-elevated)
|
|
218
|
+
/* Surfaces — numbered aliases of the surface levels */
|
|
219
|
+
--color-surface-1: var(--color-surface-raised)
|
|
220
|
+
--color-surface-2: var(--color-surface-elevated)
|
|
221
|
+
--color-surface-3: var(--color-surface-overlay)
|
|
203
222
|
--color-surface-4: var(--color-base-400)
|
|
223
|
+
/*
|
|
224
|
+
* Secondary text keeps ≥ 4.5:1 on every surface level, including overlays (L39).
|
|
225
|
+
* Only base-650 and lighter pass on the overlay, so caption takes base-650 and description
|
|
226
|
+
* moves one step up to base-700 to stay visibly stronger than caption.
|
|
227
|
+
*/
|
|
228
|
+
--color-description: var(--color-base-700)
|
|
229
|
+
--color-caption: var(--color-base-650)
|
|
230
|
+
/* Interaction fills — light tint on dark, mirroring the light-mode rule.
|
|
231
|
+
* Alpha keeps these one step away from every surface level, which a fixed
|
|
232
|
+
* ramp step cannot guarantee (base-100 in dark IS the page background). */
|
|
233
|
+
--color-surface-hover: rgba(250, 250, 250, 0.08)
|
|
234
|
+
--color-surface-active: rgba(250, 250, 250, 0.14)
|
|
204
235
|
/* Overlay Colors */
|
|
205
236
|
--color-overlay: rgba(0, 0, 0, 0.7)
|
|
206
|
-
/* Input Colors
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
--color-input
|
|
210
|
-
--color-input-
|
|
211
|
-
--color-input-
|
|
237
|
+
/* Input Colors
|
|
238
|
+
* Dark fields are INSET: one step below the raised surface they sit on,
|
|
239
|
+
* which is the dark-mode equivalent of a white field on a grey page. */
|
|
240
|
+
--color-input: var(--color-base-150)
|
|
241
|
+
--color-input-border: var(--color-base-300)
|
|
242
|
+
--color-input-hover: var(--color-base-200)
|
|
243
|
+
--color-input-focus: var(--color-base-150)
|
|
244
|
+
--color-input-disabled: var(--color-base-100)
|
|
245
|
+
--color-input-placeholder: var(--color-base-500)
|
|
212
246
|
/* Text Colors - No dark mode overrides needed, base colors are already inverted */
|
|
213
247
|
/* Border Colors - No dark mode overrides needed, base colors are already inverted */
|
|
214
248
|
/* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
|
|
@@ -218,23 +252,36 @@
|
|
|
218
252
|
/* Warning Colors — no overrides: @theme uses --color-warning-* scale; it mirrors in .dark via --zabi-warning-* */
|
|
219
253
|
/* Error Colors — no overrides: @theme uses --color-error-* scale; it mirrors in .dark via --zabi-error-* */
|
|
220
254
|
/* Energetic Colors — no overrides: @theme uses --color-citron-*; citron mirrors in .dark via --zabi-citron-* */
|
|
221
|
-
/* Neutral Colors -
|
|
255
|
+
/* Neutral Colors — base-550 mirrors to L* 57, which is only 4.35:1 on a
|
|
256
|
+
* raised surface. One step lighter clears AA on every dark surface level. */
|
|
257
|
+
--color-neutral: var(--color-base-600)
|
|
222
258
|
/* Info Colors — no overrides: @theme uses --color-iris-* (incl. --color-info-active); iris mirrors in .dark via --zabi-iris-* */
|
|
223
259
|
/* ========================================
|
|
224
260
|
ACTION COLORS - Dark Mode Overrides
|
|
225
261
|
======================================== */
|
|
226
262
|
/* Primary Actions - Background adapts automatically via brand color inversion */
|
|
227
263
|
/* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --zabi-brand-* physical ramp above (semantic --color-brand-* follows mirror) */
|
|
228
|
-
/* Text color -
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
/*
|
|
232
|
-
--color-action-
|
|
233
|
-
--color-action-
|
|
234
|
-
--color-action-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
--color-
|
|
264
|
+
/* Text color - the physical dark end of the brand ramp, on the physical
|
|
265
|
+
* light end used as the dark-mode primary fill. 7.21:1. */
|
|
266
|
+
--color-action-primary-text: var(--zabi-brand-950)
|
|
267
|
+
/* Secondary Actions - light alpha tint instead of the light-mode dark tint */
|
|
268
|
+
--color-action-secondary: rgba(250, 250, 250, 0.09)
|
|
269
|
+
--color-action-secondary-hover: rgba(250, 250, 250, 0.15)
|
|
270
|
+
--color-action-secondary-active: rgba(250, 250, 250, 0.21)
|
|
271
|
+
/* Disabled Actions - base-200 in dark is #27272a, still the quietest fill */
|
|
272
|
+
/* Danger Actions — restated as aliases, not re-pointed.
|
|
273
|
+
* These resolve through the mirrored --color-error-* scale, so dark danger
|
|
274
|
+
* is the same step of the same ramp as light danger. They are repeated here
|
|
275
|
+
* only because `zabi-components/theme-dark-only` has to stand alone as a
|
|
276
|
+
* complete import (validate-theme.js enforces that). The raw hex this
|
|
277
|
+
* replaced pinned dark danger brighter than light, which is why the
|
|
278
|
+
* destructive action was the loudest element on a dark page. */
|
|
279
|
+
--color-action-danger: var(--color-error-600)
|
|
280
|
+
--color-action-danger-hover: var(--color-error-700)
|
|
281
|
+
--color-action-danger-active: var(--color-error-800)
|
|
282
|
+
--color-action-danger-subtle: var(--color-error-100)
|
|
283
|
+
--color-action-danger-subtle-hover: var(--color-error-200)
|
|
284
|
+
--color-action-danger-text: var(--color-error-50)
|
|
238
285
|
/* Shadow Colors */
|
|
239
286
|
--shadow-opacity: 0.3
|
|
240
287
|
--shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
|