@vegastack/design-tokens 0.2.0 → 0.5.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/dist/base.css +95 -47
- package/dist/theme.css +116 -409
- package/dist/tokens.cjs +94 -502
- package/dist/tokens.d.cts +92 -500
- package/dist/tokens.d.ts +92 -500
- package/dist/tokens.js +94 -502
- package/dist/tokens.json +94 -502
- package/dist/utilities.css +167 -13
- package/package.json +10 -10
package/dist/theme.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@custom-variant dark (&:
|
|
1
|
+
@custom-variant dark (&:is(.dark *));
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Do not edit directly, this file was auto-generated.
|
|
@@ -6,54 +6,49 @@
|
|
|
6
6
|
|
|
7
7
|
:root {
|
|
8
8
|
color-scheme: light;
|
|
9
|
-
--background: oklch(0
|
|
10
|
-
--foreground: oklch(0.145 0
|
|
11
|
-
--card: oklch(0
|
|
12
|
-
--card-foreground: oklch(0.145 0
|
|
13
|
-
--popover: oklch(0
|
|
14
|
-
--popover-foreground: oklch(0.145 0
|
|
15
|
-
--primary: oklch(0.
|
|
16
|
-
--primary-foreground: oklch(0.985 0
|
|
17
|
-
--
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
--
|
|
26
|
-
--
|
|
27
|
-
--destructive: oklch(0
|
|
28
|
-
--destructive-
|
|
29
|
-
--
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
33
|
-
--
|
|
34
|
-
--
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
--
|
|
39
|
-
--
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
--
|
|
48
|
-
--chart-
|
|
49
|
-
--chart-
|
|
50
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--chart-5: oklch(0.645 0.246 16.44);
|
|
53
|
-
--chart-6: oklch(0.505 0.213 27.52);
|
|
54
|
-
--chart-7: oklch(0.6 0.127 104.2); /** Olive (hue 104) — reassigned from green.600, which collided with the brand phosphor hue (CX-9). */
|
|
55
|
-
--chart-8: oklch(0.531 0.182 256);
|
|
56
|
-
--brand: oklch(0.6 0.17 148); /** The phosphor-green brand accent, LIGHT half (theme-split per CX-9): marker roles ONLY (live/AI-state dot, sparkline endpoint, eyebrow highlight, terminal prompt glyph). 3.5:1 on card/background — meaningful glyphs pass WCAG 1.4.11. Never fills, borders-at-rest, headlines, or buttons. */
|
|
9
|
+
--background: oklch(1 0 0);
|
|
10
|
+
--foreground: oklch(0.145 0 0);
|
|
11
|
+
--card: oklch(1 0 0);
|
|
12
|
+
--card-foreground: oklch(0.145 0 0);
|
|
13
|
+
--popover: oklch(1 0 0);
|
|
14
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
15
|
+
--primary: oklch(0.205 0 0);
|
|
16
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
17
|
+
--secondary: oklch(0.97 0 0);
|
|
18
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
19
|
+
--muted: oklch(0.97 0 0);
|
|
20
|
+
--muted-foreground: oklch(0.539 0 0);
|
|
21
|
+
--accent: oklch(0.97 0 0);
|
|
22
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
23
|
+
--border: oklch(0.922 0 0);
|
|
24
|
+
--input: oklch(0.922 0 0);
|
|
25
|
+
--ring: oklch(0.205 0 0); /** FOC-2 (ours): the focus ring is the near-black/near-white INK, not shadcn's mid-grey (0.708 light / 0.556 dark). FOC-1 paints it as one global 2px `:focus-visible` outline, so it is the whole focus affordance and has to carry real contrast. */
|
|
26
|
+
--destructive: oklch(0.577 0.245 27.325); /** shadcn base-nova's value, verbatim. */
|
|
27
|
+
--destructive-foreground: oklch(1 0 0);
|
|
28
|
+
--destructive-text: oklch(0.446 0.182 27.325); /** COL-12 (ours), the page-readable half of the family. A status FILL is tuned to carry its own `-foreground` on top of it; used AS TEXT on the page or on the family's own 10-20% tint it lands between 3.98 and 4.35:1, which is a live WCAG 1.4.3 failure (measured by the rendered axe lane, 2026-09-18, on Alert, Badge, Toast and the soft Button). This is the ink those surfaces read through, AA-gated by contrast-check on background, card, popover and on the /10, /20 and /30 composites over each. Upstream has no tinted status surface at all, so this token is an addition to shadcn rather than a deviation from it. */
|
|
29
|
+
--success: oklch(0.53 0.15 150); /** COL-12 (ours): written in shadcn's destructive shape — one fill, one on-fill foreground. AA-gated as page text and as a fill under its foreground, in both themes. */
|
|
30
|
+
--success-foreground: oklch(1 0 0);
|
|
31
|
+
--success-text: oklch(0.44 0.121 150);
|
|
32
|
+
--warning: oklch(0.55 0.12 70); /** COL-12 (ours): written in shadcn's destructive shape — one fill, one on-fill foreground. AA-gated as page text and as a fill under its foreground, in both themes. */
|
|
33
|
+
--warning-foreground: oklch(1 0 0);
|
|
34
|
+
--warning-text: oklch(0.462 0.1 70);
|
|
35
|
+
--info: oklch(0.55 0.19 256); /** COL-12 (ours): written in shadcn's destructive shape — one fill, one on-fill foreground. AA-gated as page text and as a fill under its foreground, in both themes. */
|
|
36
|
+
--info-foreground: oklch(1 0 0);
|
|
37
|
+
--info-text: oklch(0.456 0.156 256);
|
|
38
|
+
--media-scrim: oklch(0.13 0.002 75 / 0.6); /** THEME-INVARIANT media chrome scrim (B4-01): the gradient/backdrop behind controls laid over video or imagery. Always a warm-black alpha, never a theme token, so the chrome reads dark-scrim + light-ink in both themes (`primary` flips with the theme and inverted the chrome in dark). TEXT IS PERMITTED on this scrim: media-foreground clears 5.2:1 on it over a white worst-case backdrop, and tooling/contrast-check.mjs gates the pair at the AA TEXT floor (4.5:1), not the 3:1 non-text floor — so a retune that thins this scrim under AA fails the build rather than silently demoting its labels. */
|
|
39
|
+
--media-scrim-strong: oklch(0.13 0.002 75 / 0.8); /** Theme-invariant strong scrim for opaque media pills (volume popover, time badge) — 11:1 for media-foreground over a white worst case. Use it for any block of media text that needs headroom beyond the soft scrim's ~5.2:1, and for text over unusually bright or busy frames. */
|
|
40
|
+
--media-foreground: oklch(0.985 0 0); /** Theme-invariant media chrome ink: the warm off-white used for every icon, label and track drawn over media-scrim or media-scrim-strong. Labels are allowed on EITHER scrim — both are gated at the AA text floor (4.5:1) against this ink over the white worst case. Not overridden in dark on purpose. */
|
|
41
|
+
--chart-1: oklch(0.546 0.245 262.88); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
42
|
+
--chart-2: oklch(0.581 0.118 184.7); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
43
|
+
--chart-3: oklch(0.398 0.07 227.39); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
44
|
+
--chart-4: oklch(0.623 0.222 41.12); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
45
|
+
--chart-5: oklch(0.632 0.246 16.44); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
46
|
+
--chart-6: oklch(0.505 0.213 27.52); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
47
|
+
--chart-7: oklch(0.598 0.127 104.2); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
48
|
+
--chart-8: oklch(0.531 0.182 256); /** Categorical chart hue (MK 2026-09-18: our 8-hue palette is kept — shadcn's `neutral` base ships a greyscale chart ramp, which cannot carry multi-series data). Light halves retuned for the pure-white page and the 0.97 `muted` ground; every hue clears the WCAG 1.4.11 3:1 floor on background, card and muted in both themes. */
|
|
49
|
+
--chart-single: oklch(0.145 0 0); /** Single-series chart ink (D29): one series is drawn in foreground ink; the categorical chart-1…8 hues start at two series. */
|
|
50
|
+
--brand: oklch(0.6 0.17 148); /** The phosphor-green brand accent, LIGHT half (theme-split): MARKER roles only — a live/AI-state dot, a sparkline endpoint, an eyebrow highlight, a terminal prompt glyph. 3.5:1 on card/background, so a meaningful glyph passes WCAG 1.4.11, and it is NOT a text ink: brand LABELS take `brand-text`. Never a headline colour, never a functional state colour, never a full-strength surface. */
|
|
51
|
+
--brand-text: oklch(0.46 0.17 148); /** The PAGE-READABLE brand ink, LIGHT half — the same role every chromatic family ships as `<family>-text`. `brand` itself is a 3.5:1 MARKER value (a live dot, a sparkline endpoint, a terminal prompt glyph) and fails WCAG 1.4.3 as a label, so any brand-coloured TEXT reads through this token instead. Gated at 4.5:1 by contrast-check over background, card, popover, muted, accent, secondary and sidebar. */
|
|
57
52
|
--tag-blue: oklch(0.6 0.16 256); /** Tag palette (Attio-teardown Wave 1): 10 chromatic hues x base/subtle/text mirroring the family/family-subtle/family-text shape. base = dots/accents (>=3:1 non-text vs background), subtle = chip fill, text = chip text (>=4.5:1 on subtle AND page). Neutral tags use muted/muted-foreground. AA-validated fail-closed in contrast-check.mjs. */
|
|
58
53
|
--tag-blue-subtle: oklch(0.955 0.02 256);
|
|
59
54
|
--tag-blue-text: oklch(0.51 0.15 256);
|
|
@@ -84,86 +79,27 @@
|
|
|
84
79
|
--tag-purple: oklch(0.6 0.16 295);
|
|
85
80
|
--tag-purple-subtle: oklch(0.955 0.02 295);
|
|
86
81
|
--tag-purple-text: oklch(0.51 0.15 295);
|
|
87
|
-
--sidebar: oklch(0.985 0
|
|
88
|
-
--sidebar-foreground: oklch(0.
|
|
89
|
-
--sidebar-primary: oklch(0.
|
|
90
|
-
--sidebar-primary-foreground: oklch(0.985 0
|
|
91
|
-
--sidebar-accent: oklch(0.
|
|
92
|
-
--sidebar-accent-foreground: oklch(0.
|
|
93
|
-
--sidebar-border: oklch(0.922 0
|
|
94
|
-
--sidebar-ring: oklch(0.
|
|
95
|
-
--radius: 0.
|
|
96
|
-
--radius-xs: 0.125rem; /** Micro radius — caret/arrow triangles and other sub-control geometry (was a silent Tailwind fallback, register P1-10). */
|
|
97
|
-
--radius-sharp: 2px; /** The rationed marketing 'sharp' gesture (audit 17/D18): CTAs, chips, figure frames on marketing surfaces. 2px, not 0 — sharp at a glance, kin to the product scale. */
|
|
98
|
-
--radius-sm: 0.375rem;
|
|
99
|
-
--radius-md: 0.5rem;
|
|
100
|
-
--radius-lg: 0.75rem;
|
|
101
|
-
--size-xs: 1.5rem; /** 24px — the compact control tier (Button xs, icon-only affordances like the password eye). */
|
|
102
|
-
--size-sm: 1.75rem;
|
|
103
|
-
--size-md: 2rem;
|
|
104
|
-
--size-lg: 2.5rem;
|
|
105
|
-
--icon-compact: 0.75rem; /** 12px icon — inside xs controls only (below design.md's named scale; exists for the kept Button xs tier). */
|
|
106
|
-
--icon-inline: 0.875rem; /** 14px icon — inline with body text and sm controls (design.md §Iconography 'inline'). */
|
|
107
|
-
--icon-default: 1rem; /** 16px icon — the default control icon (design.md 'default'). */
|
|
108
|
-
--icon-action: 1.25rem; /** 20px icon — standalone action icons (design.md 'action'). */
|
|
109
|
-
--icon-feature: 1.5rem; /** 24px icon — feature/empty-state glyphs (design.md 'feature'). */
|
|
110
|
-
--sidebar-width: 15rem; /** Expanded sidebar rail width (was a JS constant invisible to design-lint, register P2-13). */
|
|
111
|
-
--sidebar-width-icon: 3rem; /** Collapsed icon-only rail width. */
|
|
112
|
-
--shadow-overlay: 0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06);
|
|
113
|
-
--shadow-lit: inset 0 1px 0 0 oklch(1 0 0 / 0.12), 0 1px 2px 0 oklch(0.13 0.002 75 / 0.18), 0 2px 6px -2px oklch(0.13 0.002 75 / 0.14); /** Wave 2 'lit' action finish (MK-approved amendment to flat-by-default): a 1px on-fill top-light + warm-ink ambient pair for PRIMARY actions only. Attio-calibrated, warm-adapted. Never on cards/surfaces — the flat elevation model stands everywhere else. */
|
|
114
|
-
--effect-blur-glass: 8px; /** Backdrop blur for the existing glass Button finish. Matches Tailwind v4's shipped blur-sm value while exposing the effect through a semantic contract. */
|
|
115
|
-
--z-raised: 10; /** Local raise WITHIN a component's own stacking context (focused OTP slot / segmented item, floating label, bubble reactions, select scroll arrows). Never for portaled surfaces. */
|
|
116
|
-
--z-overlay: 50; /** The single portal band: every portaled floating surface (dialog, sheet, popover, menu, select, tooltip, hover-card). Nesting resolves by DOM order — Base UI appends portals to <body>, so a Select inside a Dialog mounts later and stacks above within the same band. Toasts (sonner) are the documented exemption ABOVE this band (library-managed z; a toast must outrank a modal regardless of mount order). */
|
|
117
|
-
--opacity-dim: 50%; /** Element opacity for disabled controls and dimmed affordances (outside-month days, decorative chevrons). */
|
|
118
|
-
--opacity-hint-soft: 60%; /** Element opacity for hover-revealed hints (e.g. sort affordance on row hover). */
|
|
119
|
-
--opacity-hint: 70%; /** Element opacity for resting secondary controls that reach 100% on hover (e.g. alert close). */
|
|
120
|
-
--opacity-track: 25%; /** Element opacity of the circular progress track ring. */
|
|
121
|
-
--alpha-tint-border: 70%; /** Border tint for focus (ring) and error (destructive) borders — design.md's ring/70 pattern. */
|
|
122
|
-
--alpha-outline-border: 50%; /** Resting border of the outline button family (border-<family>). */
|
|
123
|
-
--alpha-border-subtle: 20%; /** Alert variant border tint (border-<family>). */
|
|
124
|
-
--alpha-border-soft: 30%; /** Toast (sonner) status border tint (border-<family>). */
|
|
125
|
-
--alpha-surface-faint: 5%; /** Resting wash of the outline button family (bg-<family>). */
|
|
126
|
-
--alpha-surface-subtle: 10%; /** Hover wash of the outline button family (bg-<family>). */
|
|
127
|
-
--alpha-ink-tint: 10%; /** Neutral pressed/hover ink tint (bg-foreground) — toggle pressed, chip remove hover. */
|
|
128
|
-
--alpha-ink-tint-strong: 15%; /** Hovered pressed-state ink tint (bg-foreground). */
|
|
129
|
-
--alpha-soft-hover: 20%; /** Hover wash of soft (subtle-filled) status surfaces. Theme-split: 30% in dark. */
|
|
130
|
-
--alpha-soft-surface: 10%; /** Resting wash of soft status surfaces (chat destructive bubble). Theme-split: 20% in dark. */
|
|
131
|
-
--alpha-input: 30%; /** Dark-theme input fill tint (bg-input) — see the dark-tint scoping note. */
|
|
132
|
-
--alpha-input-hover: 50%; /** Dark-theme input fill tint on hover (bg-input). */
|
|
133
|
-
--alpha-fill-hover: 80%; /** Hover dim of an interactive solid fill (bg-primary/secondary/muted/accent on chat bubbles, secondary button). */
|
|
134
|
-
--alpha-wash-faint: 40%; /** Faint neutral wash (bg-muted) — rich-text toolbar. */
|
|
135
|
-
--alpha-wash: 50%; /** Neutral wash (bg-muted) — card/table footers, ghost dark hover. */
|
|
136
|
-
--alpha-wash-strong: 60%; /** Stronger neutral wash (bg-muted) — line-tab hover. */
|
|
137
|
-
--alpha-backdrop-soft: 60%; /** Translucent surface backdrop (bg-background) — pill tab list. */
|
|
138
|
-
--alpha-glass: 90%; /** Glass button surface (bg-background + backdrop-blur). */
|
|
139
|
-
--alpha-glass-hover: 95%; /** Glass button surface on hover. */
|
|
140
|
-
--alpha-link-hover: 80%; /** Hovered link text dim (text-info-text) in rendered rich text. */
|
|
141
|
-
--alpha-outline-soft: 50%; /** Soft neutral outline/ring (base outline default, date-picker today ring). */
|
|
82
|
+
--sidebar: oklch(0.985 0 0);
|
|
83
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
84
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
85
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
86
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
87
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
88
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
89
|
+
--sidebar-ring: oklch(0.205 0 0);
|
|
90
|
+
--radius: 0.625rem; /** shadcn base-nova's radius. `--radius-sm/md/lg/xl/2xl/3xl/4xl` are DERIVED from it in the @theme bridge exactly as upstream derives them (0.6/0.8/1/1.4/1.8/2.2/2.6x), so `rounded-xl` on a card is upstream's 14px. The pre-reset 12px cap and the `rounded-xl` ban are gone (BRD-6/BRD-7 = shadcn). */
|
|
142
91
|
--font-family-sans: Geist, sans-serif;
|
|
143
92
|
--font-family-mono: 'Geist Mono', monospace;
|
|
144
|
-
--font-family-serif: Newsreader, serif; /** Serif
|
|
145
|
-
--font-family-display: Geist, sans-serif; /** Display tier face — same family as sans today, split as a token so
|
|
146
|
-
--font-family-pixel: 'Geist Pixel Square', monospace; /** THE single sanctioned Geist Pixel flourish cut (D17: one deliberate hero use per surface, no more). */
|
|
93
|
+
--font-family-serif: Newsreader, serif; /** Serif accent: display emphasis words and pull-quotes only, never running text. Newsreader (opsz axis) until Geist Serif ships. */
|
|
94
|
+
--font-family-display: Geist, sans-serif; /** Display tier face — the same family as sans today, split as a token so a consumer can retune large type without moving body copy. */
|
|
147
95
|
--duration-fast: 150ms;
|
|
148
96
|
--duration-base: 200ms;
|
|
149
97
|
--duration-slow: 300ms;
|
|
98
|
+
--duration-indeterminate: 1200ms; /** 1200ms — the loop cadence of the ONE sanctioned looping utility, `motion-indeterminate` (an indeterminate Progress sweep; audit M-06). Not an interaction duration: interactions use fast/base/slow. */
|
|
150
99
|
--motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
151
100
|
--motion-ease-emphasized: cubic-bezier(0.3, 0, 0, 1);
|
|
152
101
|
--motion-ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
153
102
|
--motion-ease-spring: linear(0, 0.5 60%, 1.05 80%, 0.98 90%, 1); /** CSS linear() spring with a very small overshoot — the success-bounce/appear curve for state-feedback micro-interactions (Phase M). Subtle by design: dense dev-tool aesthetic, not playful. */
|
|
154
|
-
--motion-blur: 2px; /** Motion-blur amount for blur-fade entrances (Phase M text/element reveals). */
|
|
155
|
-
--destructive-hover: oklch(0.455 0.213 27.52); /** DERIVED: destructive fill at L-0.05 (hover step). */
|
|
156
|
-
--destructive-active: oklch(0.415 0.213 27.52); /** DERIVED: destructive fill at L-0.09 (active step). */
|
|
157
|
-
--destructive-subtle-hover: oklch(0.91 0.036 20.4); /** DERIVED: destructive fill @7.000000000000001% composited over destructive-subtle (soft-hover surface, AA-gated against destructive-text). */
|
|
158
|
-
--success-hover: oklch(0.45 0.16 150); /** DERIVED: success fill at L-0.05 (hover step). */
|
|
159
|
-
--success-active: oklch(0.41 0.16 150); /** DERIVED: success fill at L-0.09 (active step). */
|
|
160
|
-
--success-subtle-hover: oklch(0.919 0.059 151.1); /** DERIVED: success fill @7.000000000000001% composited over success-subtle (soft-hover surface, AA-gated against success-text). */
|
|
161
|
-
--warning-hover: oklch(0.47 0.145 52); /** DERIVED: warning fill at L-0.05 (hover step). */
|
|
162
|
-
--warning-active: oklch(0.43 0.145 52); /** DERIVED: warning fill at L-0.09 (active step). */
|
|
163
|
-
--warning-subtle-hover: oklch(0.929 0.027 48.8); /** DERIVED: warning fill @7.000000000000001% composited over warning-subtle (soft-hover surface, AA-gated against warning-text). */
|
|
164
|
-
--info-hover: oklch(0.481 0.182 256); /** DERIVED: info fill at L-0.05 (hover step). */
|
|
165
|
-
--info-active: oklch(0.441 0.182 256); /** DERIVED: info fill at L-0.09 (active step). */
|
|
166
|
-
--info-subtle-hover: oklch(0.929 0.03 251.1); /** DERIVED: info fill @7.000000000000001% composited over info-subtle (soft-hover surface, AA-gated against info-text). */
|
|
167
103
|
}
|
|
168
104
|
|
|
169
105
|
/**
|
|
@@ -172,37 +108,35 @@
|
|
|
172
108
|
|
|
173
109
|
.dark {
|
|
174
110
|
color-scheme: dark;
|
|
175
|
-
--background: oklch(0.
|
|
176
|
-
--foreground: oklch(0.
|
|
177
|
-
--card: oklch(0.205 0
|
|
178
|
-
--card-foreground: oklch(0.
|
|
179
|
-
--popover: oklch(0.205 0
|
|
180
|
-
--popover-foreground: oklch(0.
|
|
181
|
-
--primary: oklch(0.922 0
|
|
182
|
-
--primary-foreground: oklch(0.
|
|
183
|
-
--
|
|
184
|
-
--
|
|
185
|
-
--
|
|
186
|
-
--
|
|
187
|
-
--
|
|
188
|
-
--
|
|
189
|
-
--
|
|
190
|
-
--
|
|
191
|
-
--
|
|
192
|
-
--
|
|
193
|
-
--destructive-
|
|
194
|
-
--destructive-text: oklch(0.
|
|
195
|
-
--
|
|
196
|
-
--success-
|
|
197
|
-
--success-text: oklch(0.
|
|
198
|
-
--warning
|
|
199
|
-
--warning-
|
|
200
|
-
--
|
|
201
|
-
--info
|
|
202
|
-
--
|
|
203
|
-
--
|
|
204
|
-
--input: oklch(0.269 0.003 75);
|
|
205
|
-
--ring: oklch(0.922 0.003 75);
|
|
111
|
+
--background: oklch(0.145 0 0);
|
|
112
|
+
--foreground: oklch(0.985 0 0);
|
|
113
|
+
--card: oklch(0.205 0 0);
|
|
114
|
+
--card-foreground: oklch(0.985 0 0);
|
|
115
|
+
--popover: oklch(0.205 0 0);
|
|
116
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
117
|
+
--primary: oklch(0.922 0 0);
|
|
118
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
119
|
+
--secondary: oklch(0.269 0 0);
|
|
120
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
121
|
+
--muted: oklch(0.269 0 0);
|
|
122
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
123
|
+
--accent: oklch(0.269 0 0);
|
|
124
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
125
|
+
--border: oklch(1 0 0 / 0.1);
|
|
126
|
+
--input: oklch(1 0 0 / 0.15);
|
|
127
|
+
--ring: oklch(0.922 0 0); /** FOC-2 (ours) — the dark half of the ink ring. */
|
|
128
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
129
|
+
--destructive-foreground: oklch(0.145 0 0);
|
|
130
|
+
--destructive-text: oklch(0.756 0.146 22.216); /** COL-12 (ours), the page-readable half of the family. A status FILL is tuned to carry its own `-foreground` on top of it; used AS TEXT on the page or on the family's own 10-20% tint it lands between 3.98 and 4.35:1, which is a live WCAG 1.4.3 failure (measured by the rendered axe lane, 2026-09-18, on Alert, Badge, Toast and the soft Button). This is the ink those surfaces read through, AA-gated by contrast-check on background, card, popover and on the /10, /20 and /30 composites over each. Upstream has no tinted status surface at all, so this token is an addition to shadcn rather than a deviation from it. */
|
|
131
|
+
--success: oklch(0.72 0.17 150);
|
|
132
|
+
--success-foreground: oklch(0.145 0 0);
|
|
133
|
+
--success-text: oklch(0.748 0.17 150);
|
|
134
|
+
--warning: oklch(0.75 0.15 70);
|
|
135
|
+
--warning-foreground: oklch(0.145 0 0);
|
|
136
|
+
--warning-text: oklch(0.776 0.15 70);
|
|
137
|
+
--info: oklch(0.72 0.15 256);
|
|
138
|
+
--info-foreground: oklch(0.145 0 0);
|
|
139
|
+
--info-text: oklch(0.76 0.124 256);
|
|
206
140
|
--chart-1: oklch(0.623 0.214 259.81);
|
|
207
141
|
--chart-2: oklch(0.696 0.17 162.48);
|
|
208
142
|
--chart-3: oklch(0.769 0.188 70.08);
|
|
@@ -211,6 +145,9 @@
|
|
|
211
145
|
--chart-6: oklch(0.69 0.21 25);
|
|
212
146
|
--chart-7: oklch(0.72 0.15 103.9);
|
|
213
147
|
--chart-8: oklch(0.72 0.13 256);
|
|
148
|
+
--chart-single: oklch(0.985 0 0); /** Repeated here on purpose: an alias is resolved per run, so a light-only alias would leak the LIGHT ink into `.dark` through the cascade (the contrast gate caught exactly that). */
|
|
149
|
+
--brand: oklch(0.86 0.21 148); /** The phosphor-green brand accent, DARK half — MK's pick (13.3:1 on the dark canvas). Marker roles plus the `cta` Button's wash/outline. */
|
|
150
|
+
--brand-text: oklch(0.86 0.21 148); /** The page-readable brand ink, DARK half. On the dark ground the marker value already measures 12.2:1 as a label, so brand-text and brand carry the SAME value here — the split exists because the light half cannot. */
|
|
214
151
|
--tag-blue: oklch(0.72 0.14 256);
|
|
215
152
|
--tag-blue-subtle: oklch(0.275 0.05 256);
|
|
216
153
|
--tag-blue-text: oklch(0.75 0.13 256);
|
|
@@ -241,163 +178,14 @@
|
|
|
241
178
|
--tag-purple: oklch(0.72 0.15 295);
|
|
242
179
|
--tag-purple-subtle: oklch(0.275 0.05 295);
|
|
243
180
|
--tag-purple-text: oklch(0.75 0.13 295);
|
|
244
|
-
--sidebar: oklch(0.
|
|
245
|
-
--sidebar-foreground: oklch(0.
|
|
246
|
-
--sidebar-primary: oklch(0.
|
|
247
|
-
--sidebar-primary-foreground: oklch(0.
|
|
248
|
-
--sidebar-accent: oklch(0.
|
|
249
|
-
--sidebar-accent-foreground: oklch(0.
|
|
250
|
-
--sidebar-border: oklch(0
|
|
251
|
-
--sidebar-ring: oklch(0.922 0
|
|
252
|
-
--brand: oklch(0.86 0.21 148); /** The phosphor-green brand accent, DARK half — MK's pick (13.3:1 on the dark canvas). Marker roles only. */
|
|
253
|
-
--alpha-soft-hover: 30%; /** Dark half of the theme-split soft-surface hover wash. */
|
|
254
|
-
--alpha-soft-surface: 20%; /** Dark half of the theme-split soft-surface resting wash. */
|
|
255
|
-
--shadow-overlay: 0 8px 28px -6px oklch(0 0 0 / 0.48), 0 2px 8px -2px oklch(0 0 0 / 0.4); /** DARK overlay shadow, strengthened (Wave 1 — Attio-calibrated): the old single 24px layer was near-invisible on the dark canvas; this two-layer ramp restores the floating cue while staying below Attio's 88px maximal ramp. */
|
|
256
|
-
--shadow-lit: inset 0 1px 0 0 oklch(1 0 0 / 0.35), 0 2px 6px -2px oklch(0 0 0 / 0.5);
|
|
257
|
-
--destructive-subtle-hover: oklch(0.34 0.123 26.3); /** DERIVED: destructive fill @30% composited over destructive-subtle (soft-hover surface, AA-gated against destructive-text). */
|
|
258
|
-
--success-subtle-hover: oklch(0.348 0.092 148.9); /** DERIVED: success fill @30% composited over success-subtle (soft-hover surface, AA-gated against success-text). */
|
|
259
|
-
--warning-subtle-hover: oklch(0.356 0.093 46.6); /** DERIVED: warning fill @30% composited over warning-subtle (soft-hover surface, AA-gated against warning-text). */
|
|
260
|
-
--info-subtle-hover: oklch(0.354 0.101 254.3); /** DERIVED: info fill @30% composited over info-subtle (soft-hover surface, AA-gated against info-text). */
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Do not edit directly, this file was auto-generated.
|
|
265
|
-
*/
|
|
266
|
-
|
|
267
|
-
.vs-marketing {
|
|
268
|
-
color-scheme: dark;
|
|
269
|
-
--background: oklch(0.175 0.003 75);
|
|
270
|
-
--foreground: oklch(0.922 0.003 75);
|
|
271
|
-
--card: oklch(0.205 0.003 75);
|
|
272
|
-
--card-foreground: oklch(0.922 0.003 75);
|
|
273
|
-
--popover: oklch(0.205 0.003 75);
|
|
274
|
-
--popover-foreground: oklch(0.922 0.003 75);
|
|
275
|
-
--primary: oklch(0.922 0.003 75);
|
|
276
|
-
--primary-foreground: oklch(0.145 0.003 75);
|
|
277
|
-
--primary-hover: oklch(0.97 0.003 75);
|
|
278
|
-
--primary-active: oklch(0.994 0.002 75);
|
|
279
|
-
--track: oklch(0.439 0.003 75);
|
|
280
|
-
--secondary: oklch(0.269 0.003 75);
|
|
281
|
-
--secondary-foreground: oklch(0.922 0.003 75);
|
|
282
|
-
--muted: oklch(0.269 0.003 75);
|
|
283
|
-
--muted-foreground: oklch(0.66 0.003 75);
|
|
284
|
-
--muted-foreground-faint: oklch(0.559 0.003 75);
|
|
285
|
-
--accent: oklch(0.269 0.003 75);
|
|
286
|
-
--accent-foreground: oklch(0.967 0.003 75);
|
|
287
|
-
--destructive-subtle: oklch(0.275 0.07 25);
|
|
288
|
-
--destructive-text: oklch(0.72 0.16 25);
|
|
289
|
-
--destructive-border: oklch(0.72 0.16 25); /** Dark-ground invalid-state border ink. red.400 at --alpha-tint-border measures 4.00:1 on background and 3.86:1 on card, clearing the 3:1 WCAG 1.4.11 floor the shared destructive fill misses (1.92:1). */
|
|
290
|
-
--success-subtle: oklch(0.276 0.061 150);
|
|
291
|
-
--success-text: oklch(0.72 0.17 150);
|
|
292
|
-
--warning-subtle: oklch(0.28 0.069 42);
|
|
293
|
-
--warning-text: oklch(0.769 0.188 70.08);
|
|
294
|
-
--info-subtle: oklch(0.275 0.059 255);
|
|
295
|
-
--info-text: oklch(0.72 0.13 256);
|
|
296
|
-
--overlay: oklch(0 0 0 / 0.55);
|
|
297
|
-
--border: oklch(0.269 0.003 75);
|
|
298
|
-
--input: oklch(0.269 0.003 75);
|
|
299
|
-
--ring: oklch(0.922 0.003 75);
|
|
300
|
-
--chart-1: oklch(0.623 0.214 259.81);
|
|
301
|
-
--chart-2: oklch(0.696 0.17 162.48);
|
|
302
|
-
--chart-3: oklch(0.769 0.188 70.08);
|
|
303
|
-
--chart-4: oklch(0.75 0.183 55.93);
|
|
304
|
-
--chart-5: oklch(0.645 0.246 16.44);
|
|
305
|
-
--chart-6: oklch(0.69 0.21 25);
|
|
306
|
-
--chart-7: oklch(0.72 0.15 103.9);
|
|
307
|
-
--chart-8: oklch(0.72 0.13 256);
|
|
308
|
-
--tag-blue: oklch(0.72 0.14 256);
|
|
309
|
-
--tag-blue-subtle: oklch(0.275 0.05 256);
|
|
310
|
-
--tag-blue-text: oklch(0.75 0.13 256);
|
|
311
|
-
--tag-cyan: oklch(0.72 0.13 226);
|
|
312
|
-
--tag-cyan-subtle: oklch(0.275 0.05 226);
|
|
313
|
-
--tag-cyan-text: oklch(0.75 0.13 226);
|
|
314
|
-
--tag-green: oklch(0.72 0.15 150);
|
|
315
|
-
--tag-green-subtle: oklch(0.275 0.05 150);
|
|
316
|
-
--tag-green-text: oklch(0.75 0.13 150);
|
|
317
|
-
--tag-lime: oklch(0.72 0.15 117);
|
|
318
|
-
--tag-lime-subtle: oklch(0.275 0.05 117);
|
|
319
|
-
--tag-lime-text: oklch(0.75 0.13 117);
|
|
320
|
-
--tag-yellow: oklch(0.72 0.14 86);
|
|
321
|
-
--tag-yellow-subtle: oklch(0.275 0.05 86);
|
|
322
|
-
--tag-yellow-text: oklch(0.75 0.13 86);
|
|
323
|
-
--tag-orange: oklch(0.72 0.15 52);
|
|
324
|
-
--tag-orange-subtle: oklch(0.275 0.05 52);
|
|
325
|
-
--tag-orange-text: oklch(0.75 0.13 52);
|
|
326
|
-
--tag-red: oklch(0.72 0.15 25);
|
|
327
|
-
--tag-red-subtle: oklch(0.275 0.05 25);
|
|
328
|
-
--tag-red-text: oklch(0.75 0.13 25);
|
|
329
|
-
--tag-pink: oklch(0.72 0.15 356);
|
|
330
|
-
--tag-pink-subtle: oklch(0.275 0.05 356);
|
|
331
|
-
--tag-pink-text: oklch(0.75 0.13 356);
|
|
332
|
-
--tag-magenta: oklch(0.72 0.15 323);
|
|
333
|
-
--tag-magenta-subtle: oklch(0.275 0.05 323);
|
|
334
|
-
--tag-magenta-text: oklch(0.75 0.13 323);
|
|
335
|
-
--tag-purple: oklch(0.72 0.15 295);
|
|
336
|
-
--tag-purple-subtle: oklch(0.275 0.05 295);
|
|
337
|
-
--tag-purple-text: oklch(0.75 0.13 295);
|
|
338
|
-
--sidebar: oklch(0.145 0.003 75);
|
|
339
|
-
--sidebar-foreground: oklch(0.87 0.003 75);
|
|
340
|
-
--sidebar-primary: oklch(0.922 0.003 75);
|
|
341
|
-
--sidebar-primary-foreground: oklch(0.145 0.003 75);
|
|
342
|
-
--sidebar-accent: oklch(0.205 0.003 75);
|
|
343
|
-
--sidebar-accent-foreground: oklch(0.922 0.003 75);
|
|
344
|
-
--sidebar-border: oklch(0.269 0.003 75);
|
|
345
|
-
--sidebar-ring: oklch(0.922 0.003 75);
|
|
346
|
-
--brand: oklch(0.86 0.21 148); /** The phosphor-green brand accent, DARK half — MK's pick (13.3:1 on the dark canvas). Marker roles only. */
|
|
347
|
-
--alpha-soft-hover: 30%; /** Dark half of the theme-split soft-surface hover wash. */
|
|
348
|
-
--alpha-soft-surface: 20%; /** Dark half of the theme-split soft-surface resting wash. */
|
|
349
|
-
--shadow-overlay: 0 8px 28px -6px oklch(0 0 0 / 0.48), 0 2px 8px -2px oklch(0 0 0 / 0.4); /** DARK overlay shadow, strengthened (Wave 1 — Attio-calibrated): the old single 24px layer was near-invisible on the dark canvas; this two-layer ramp restores the floating cue while staying below Attio's 88px maximal ramp. */
|
|
350
|
-
--shadow-lit: inset 0 1px 0 0 oklch(1 0 0 / 0.35), 0 2px 6px -2px oklch(0 0 0 / 0.5);
|
|
351
|
-
--destructive-subtle-hover: oklch(0.34 0.123 26.3); /** DERIVED: destructive fill @30% composited over destructive-subtle (soft-hover surface, AA-gated against destructive-text). */
|
|
352
|
-
--success-subtle-hover: oklch(0.348 0.092 148.9); /** DERIVED: success fill @30% composited over success-subtle (soft-hover surface, AA-gated against success-text). */
|
|
353
|
-
--warning-subtle-hover: oklch(0.356 0.093 46.6); /** DERIVED: warning fill @30% composited over warning-subtle (soft-hover surface, AA-gated against warning-text). */
|
|
354
|
-
--info-subtle-hover: oklch(0.354 0.101 254.3); /** DERIVED: info fill @30% composited over info-subtle (soft-hover surface, AA-gated against info-text). */
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
/* Two-layer type scale (T1): both ladders + the active binding (product by default). */
|
|
358
|
-
:root {
|
|
359
|
-
--type-product-xs: 0.6875rem;
|
|
360
|
-
--type-product-xs--line-height: calc(16 / 11);
|
|
361
|
-
--type-product-sm: 0.75rem;
|
|
362
|
-
--type-product-sm--line-height: calc(16 / 12);
|
|
363
|
-
--type-product-base: 0.875rem;
|
|
364
|
-
--type-product-base--line-height: calc(21 / 14);
|
|
365
|
-
--type-product-lg: 1rem;
|
|
366
|
-
--type-product-lg--line-height: calc(24 / 16);
|
|
367
|
-
--type-product-xl: 1.125rem;
|
|
368
|
-
--type-product-xl--line-height: calc(26 / 18);
|
|
369
|
-
--type-product-2xl: 1.25rem;
|
|
370
|
-
--type-product-2xl--line-height: calc(28 / 20);
|
|
371
|
-
--type-product-3xl: 1.5rem;
|
|
372
|
-
--type-product-3xl--line-height: calc(32 / 24);
|
|
373
|
-
--type-doc-xs: 0.75rem;
|
|
374
|
-
--type-doc-xs--line-height: calc(1 / 0.75);
|
|
375
|
-
--type-doc-sm: 0.875rem;
|
|
376
|
-
--type-doc-sm--line-height: calc(1.25 / 0.875);
|
|
377
|
-
--type-doc-base: 1rem;
|
|
378
|
-
--type-doc-base--line-height: calc(1.5 / 1);
|
|
379
|
-
--type-doc-lg: 1.125rem;
|
|
380
|
-
--type-doc-lg--line-height: calc(1.75 / 1.125);
|
|
381
|
-
--type-doc-xl: 1.25rem;
|
|
382
|
-
--type-doc-xl--line-height: calc(1.75 / 1.25);
|
|
383
|
-
--type-doc-2xl: 1.5rem;
|
|
384
|
-
--type-doc-2xl--line-height: calc(2 / 1.5);
|
|
385
|
-
--type-doc-3xl: 1.875rem;
|
|
386
|
-
--type-doc-3xl--line-height: calc(2.25 / 1.875);
|
|
387
|
-
--type-xs: var(--type-product-xs);
|
|
388
|
-
--type-xs--line-height: var(--type-product-xs--line-height);
|
|
389
|
-
--type-sm: var(--type-product-sm);
|
|
390
|
-
--type-sm--line-height: var(--type-product-sm--line-height);
|
|
391
|
-
--type-base: var(--type-product-base);
|
|
392
|
-
--type-base--line-height: var(--type-product-base--line-height);
|
|
393
|
-
--type-lg: var(--type-product-lg);
|
|
394
|
-
--type-lg--line-height: var(--type-product-lg--line-height);
|
|
395
|
-
--type-xl: var(--type-product-xl);
|
|
396
|
-
--type-xl--line-height: var(--type-product-xl--line-height);
|
|
397
|
-
--type-2xl: var(--type-product-2xl);
|
|
398
|
-
--type-2xl--line-height: var(--type-product-2xl--line-height);
|
|
399
|
-
--type-3xl: var(--type-product-3xl);
|
|
400
|
-
--type-3xl--line-height: var(--type-product-3xl--line-height);
|
|
181
|
+
--sidebar: oklch(0.205 0 0);
|
|
182
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
183
|
+
--sidebar-primary: oklch(0.488 0.243 264.376); /** shadcn base-nova's dark sidebar-primary, verbatim — the one chromatic value in the neutral base (COL-15 = shadcn). */
|
|
184
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
185
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
186
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
187
|
+
--sidebar-border: oklch(1 0 0 / 0.1);
|
|
188
|
+
--sidebar-ring: oklch(0.922 0 0);
|
|
401
189
|
}
|
|
402
190
|
|
|
403
191
|
@theme inline {
|
|
@@ -409,37 +197,30 @@
|
|
|
409
197
|
--color-popover-foreground: var(--popover-foreground);
|
|
410
198
|
--color-primary: var(--primary);
|
|
411
199
|
--color-primary-foreground: var(--primary-foreground);
|
|
412
|
-
--color-primary-hover: var(--primary-hover);
|
|
413
|
-
--color-primary-active: var(--primary-active);
|
|
414
|
-
--color-track: var(--track);
|
|
415
200
|
--color-secondary: var(--secondary);
|
|
416
201
|
--color-secondary-foreground: var(--secondary-foreground);
|
|
417
202
|
--color-muted: var(--muted);
|
|
418
203
|
--color-muted-foreground: var(--muted-foreground);
|
|
419
|
-
--color-muted-foreground-faint: var(--muted-foreground-faint);
|
|
420
204
|
--color-accent: var(--accent);
|
|
421
205
|
--color-accent-foreground: var(--accent-foreground);
|
|
206
|
+
--color-border: var(--border);
|
|
207
|
+
--color-input: var(--input);
|
|
208
|
+
--color-ring: var(--ring);
|
|
422
209
|
--color-destructive: var(--destructive);
|
|
423
210
|
--color-destructive-foreground: var(--destructive-foreground);
|
|
424
|
-
--color-destructive-subtle: var(--destructive-subtle);
|
|
425
211
|
--color-destructive-text: var(--destructive-text);
|
|
426
|
-
--color-destructive-border: var(--destructive-border);
|
|
427
212
|
--color-success: var(--success);
|
|
428
213
|
--color-success-foreground: var(--success-foreground);
|
|
429
|
-
--color-success-subtle: var(--success-subtle);
|
|
430
214
|
--color-success-text: var(--success-text);
|
|
431
215
|
--color-warning: var(--warning);
|
|
432
216
|
--color-warning-foreground: var(--warning-foreground);
|
|
433
|
-
--color-warning-subtle: var(--warning-subtle);
|
|
434
217
|
--color-warning-text: var(--warning-text);
|
|
435
218
|
--color-info: var(--info);
|
|
436
219
|
--color-info-foreground: var(--info-foreground);
|
|
437
|
-
--color-info-subtle: var(--info-subtle);
|
|
438
220
|
--color-info-text: var(--info-text);
|
|
439
|
-
--color-
|
|
440
|
-
--color-
|
|
441
|
-
--color-
|
|
442
|
-
--color-ring: var(--ring);
|
|
221
|
+
--color-media-scrim: var(--media-scrim);
|
|
222
|
+
--color-media-scrim-strong: var(--media-scrim-strong);
|
|
223
|
+
--color-media-foreground: var(--media-foreground);
|
|
443
224
|
--color-chart-1: var(--chart-1);
|
|
444
225
|
--color-chart-2: var(--chart-2);
|
|
445
226
|
--color-chart-3: var(--chart-3);
|
|
@@ -448,7 +229,9 @@
|
|
|
448
229
|
--color-chart-6: var(--chart-6);
|
|
449
230
|
--color-chart-7: var(--chart-7);
|
|
450
231
|
--color-chart-8: var(--chart-8);
|
|
232
|
+
--color-chart-single: var(--chart-single);
|
|
451
233
|
--color-brand: var(--brand);
|
|
234
|
+
--color-brand-text: var(--brand-text);
|
|
452
235
|
--color-tag-blue: var(--tag-blue);
|
|
453
236
|
--color-tag-blue-subtle: var(--tag-blue-subtle);
|
|
454
237
|
--color-tag-blue-text: var(--tag-blue-text);
|
|
@@ -487,101 +270,25 @@
|
|
|
487
270
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
488
271
|
--color-sidebar-border: var(--sidebar-border);
|
|
489
272
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
490
|
-
--
|
|
491
|
-
--
|
|
492
|
-
--
|
|
493
|
-
--
|
|
494
|
-
--
|
|
495
|
-
--
|
|
496
|
-
--
|
|
497
|
-
--
|
|
498
|
-
--color-warning-subtle-hover: var(--warning-subtle-hover);
|
|
499
|
-
--color-info-hover: var(--info-hover);
|
|
500
|
-
--color-info-active: var(--info-active);
|
|
501
|
-
--color-info-subtle-hover: var(--info-subtle-hover);
|
|
502
|
-
/* text-* remap — utilities resolve through the scoped --type-* binding (CX-6) */
|
|
503
|
-
--text-xs: var(--type-xs);
|
|
504
|
-
--text-xs--line-height: var(--type-xs--line-height);
|
|
505
|
-
--text-sm: var(--type-sm);
|
|
506
|
-
--text-sm--line-height: var(--type-sm--line-height);
|
|
507
|
-
--text-base: var(--type-base);
|
|
508
|
-
--text-base--line-height: var(--type-base--line-height);
|
|
509
|
-
--text-lg: var(--type-lg);
|
|
510
|
-
--text-lg--line-height: var(--type-lg--line-height);
|
|
511
|
-
--text-xl: var(--type-xl);
|
|
512
|
-
--text-xl--line-height: var(--type-xl--line-height);
|
|
513
|
-
--text-2xl: var(--type-2xl);
|
|
514
|
-
--text-2xl--line-height: var(--type-2xl--line-height);
|
|
515
|
-
--text-3xl: var(--type-3xl);
|
|
516
|
-
--text-3xl--line-height: var(--type-3xl--line-height);
|
|
517
|
-
--radius-xs: var(--radius-xs);
|
|
518
|
-
--radius-sharp: var(--radius-sharp);
|
|
519
|
-
--radius-sm: var(--radius-sm);
|
|
520
|
-
--radius-md: var(--radius-md);
|
|
521
|
-
--radius-lg: var(--radius-lg);
|
|
522
|
-
--shadow-overlay: var(--shadow-overlay);
|
|
523
|
-
--blur-glass: var(--effect-blur-glass);
|
|
524
|
-
--text-display-sm: 2rem;
|
|
525
|
-
--text-display-sm--line-height: 2.25rem;
|
|
526
|
-
--text-display-sm--font-weight: 400;
|
|
527
|
-
--text-display-sm--letter-spacing: -0.04em;
|
|
528
|
-
--text-display-md: 2.5rem;
|
|
529
|
-
--text-display-md--line-height: 2.75rem;
|
|
530
|
-
--text-display-md--font-weight: 400;
|
|
531
|
-
--text-display-md--letter-spacing: -0.045em;
|
|
532
|
-
--text-display-lg: 3.5rem;
|
|
533
|
-
--text-display-lg--line-height: 3.75rem;
|
|
534
|
-
--text-display-lg--font-weight: 400;
|
|
535
|
-
--text-display-lg--letter-spacing: -0.05em;
|
|
536
|
-
--text-display-xl: 4.5rem;
|
|
537
|
-
--text-display-xl--line-height: 4.75rem;
|
|
538
|
-
--text-display-xl--font-weight: 400;
|
|
539
|
-
--text-display-xl--letter-spacing: -0.06em;
|
|
540
|
-
--text-h1: 1.5rem;
|
|
541
|
-
--text-h1--line-height: 2rem;
|
|
542
|
-
--text-h1--font-weight: 400;
|
|
543
|
-
--text-h1--letter-spacing: -0.02em;
|
|
544
|
-
--text-h2: 1.25rem;
|
|
545
|
-
--text-h2--line-height: 1.75rem;
|
|
546
|
-
--text-h2--font-weight: 400;
|
|
547
|
-
--text-h2--letter-spacing: -0.015em;
|
|
548
|
-
--text-h3: 1.125rem;
|
|
549
|
-
--text-h3--line-height: 1.5rem;
|
|
550
|
-
--text-h3--font-weight: 400;
|
|
551
|
-
--text-h3--letter-spacing: -0.01em;
|
|
552
|
-
--text-h4: 1rem;
|
|
553
|
-
--text-h4--line-height: 1.375rem;
|
|
554
|
-
--text-h4--font-weight: 500;
|
|
555
|
-
--text-label: 0.875rem;
|
|
556
|
-
--text-label--line-height: 1.25rem;
|
|
557
|
-
--text-label--font-weight: 500;
|
|
558
|
-
--text-label--letter-spacing: -0.01em;
|
|
559
|
-
--text-strong: 0.875rem;
|
|
560
|
-
--text-strong--line-height: 1.25rem;
|
|
561
|
-
--text-strong--font-weight: 600;
|
|
562
|
-
--text-strong--letter-spacing: -0.01em;
|
|
563
|
-
--text-label-sm: 0.75rem;
|
|
564
|
-
--text-label-sm--line-height: 1rem;
|
|
565
|
-
--text-label-sm--font-weight: 500;
|
|
566
|
-
--text-label-sm--letter-spacing: -0.01em;
|
|
567
|
-
--text-code: 0.8125rem;
|
|
568
|
-
--text-code--line-height: 1.25rem;
|
|
569
|
-
--text-code--font-weight: 400;
|
|
570
|
-
--text-code-sm: 0.75rem;
|
|
571
|
-
--text-code-sm--line-height: 1rem;
|
|
572
|
-
--text-code-sm--font-weight: 400;
|
|
573
|
-
--text-mono-label: 0.75rem;
|
|
574
|
-
--text-mono-label--line-height: 1rem;
|
|
575
|
-
--text-mono-label--font-weight: 400;
|
|
576
|
-
--text-mono-label--letter-spacing: 0.05em;
|
|
273
|
+
/* Upstream derives its whole radius ramp from --radius (0.6/0.8/1/1.4/1.8/2.2/2.6x). */
|
|
274
|
+
--radius-sm: calc(var(--radius) * 0.6);
|
|
275
|
+
--radius-md: calc(var(--radius) * 0.8);
|
|
276
|
+
--radius-lg: var(--radius);
|
|
277
|
+
--radius-xl: calc(var(--radius) * 1.4);
|
|
278
|
+
--radius-2xl: calc(var(--radius) * 1.8);
|
|
279
|
+
--radius-3xl: calc(var(--radius) * 2.2);
|
|
280
|
+
--radius-4xl: calc(var(--radius) * 2.6);
|
|
577
281
|
--font-sans: var(--font-family-sans);
|
|
578
282
|
--font-mono: var(--font-family-mono);
|
|
579
283
|
--font-serif: var(--font-family-serif);
|
|
284
|
+
--font-display: var(--font-family-display);
|
|
285
|
+
--font-heading: var(--font-family-sans);
|
|
286
|
+
/* MOT-2 is shadcn, so nothing pairs a duration with an ease any more. These four eases and
|
|
287
|
+
three durations exist for the MOT-6/MOT-7 utilities in utilities.css, which are ours. */
|
|
580
288
|
--ease-standard: var(--motion-ease-standard);
|
|
581
289
|
--ease-emphasized: var(--motion-ease-emphasized);
|
|
582
290
|
--ease-exit: var(--motion-ease-exit);
|
|
583
291
|
--ease-spring: var(--motion-ease-spring);
|
|
584
|
-
--blur-motion: var(--motion-blur);
|
|
585
292
|
--transition-duration-fast: var(--duration-fast);
|
|
586
293
|
--transition-duration-base: var(--duration-base);
|
|
587
294
|
--transition-duration-slow: var(--duration-slow);
|