@oods/tokens 0.3.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.
@@ -0,0 +1,1802 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --oods-viz-mark-single: oklch(0.55 0.065 250); /** mark.single; generated from palette/seeds.json by generate-palette.ts. */
7
+ --oods-viz-scale-categorical-01: oklch(0.3 0.11 17.5); /** scale.categorical.01; generated from palette/seeds.json by generate-palette.ts. */
8
+ --oods-viz-scale-categorical-02: oklch(0.6 0.125294 77.5); /** scale.categorical.02; generated from palette/seeds.json by generate-palette.ts. */
9
+ --oods-viz-scale-categorical-03: oklch(0.62 0.05 137.5); /** scale.categorical.03; generated from palette/seeds.json by generate-palette.ts. */
10
+ --oods-viz-scale-categorical-04: oklch(0.64 0.108894 197.5); /** scale.categorical.04; generated from palette/seeds.json by generate-palette.ts. */
11
+ --oods-viz-scale-categorical-05: oklch(0.45 0.163056 257.5); /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
12
+ --oods-viz-scale-categorical-06: oklch(0.25 0.11 317.5); /** scale.categorical.06; generated from palette/seeds.json by generate-palette.ts. */
13
+ --oods-viz-scale-sequential-01: oklch(0.94 0.015873 257.5); /** scale.sequential.01; generated from palette/seeds.json by generate-palette.ts. */
14
+ --oods-viz-scale-sequential-02: oklch(0.84 0.054175 257.5); /** scale.sequential.02; generated from palette/seeds.json by generate-palette.ts. */
15
+ --oods-viz-scale-sequential-03: oklch(0.74 0.092822 257.5); /** scale.sequential.03; generated from palette/seeds.json by generate-palette.ts. */
16
+ --oods-viz-scale-sequential-04: oklch(0.64 0.122932 257.5); /** scale.sequential.04; generated from palette/seeds.json by generate-palette.ts. */
17
+ --oods-viz-scale-sequential-05: oklch(0.54 0.138567 257.5); /** scale.sequential.05; generated from palette/seeds.json by generate-palette.ts. */
18
+ --oods-viz-scale-sequential-06: oklch(0.44 0.136785 257.5); /** scale.sequential.06; generated from palette/seeds.json by generate-palette.ts. */
19
+ --oods-viz-scale-sequential-07: oklch(0.34 0.117918 257.5); /** scale.sequential.07; generated from palette/seeds.json by generate-palette.ts. */
20
+ --oods-viz-scale-sequential-08: oklch(0.24 0.085537 257.5); /** scale.sequential.08; generated from palette/seeds.json by generate-palette.ts. */
21
+ --oods-viz-scale-sequential-09: oklch(0.14 0.046139 257.5); /** scale.sequential.09; generated from palette/seeds.json by generate-palette.ts. */
22
+ --oods-viz-scale-diverging-neg-01: oklch(0.7 0.075918 197.5); /** scale.diverging.neg-01; generated from palette/seeds.json by generate-palette.ts. */
23
+ --oods-viz-scale-diverging-pos-01: oklch(0.7 0.075918 17.5); /** scale.diverging.pos-01; generated from palette/seeds.json by generate-palette.ts. */
24
+ --oods-viz-scale-diverging-neg-02: oklch(0.58 0.095935 197.5); /** scale.diverging.neg-02; generated from palette/seeds.json by generate-palette.ts. */
25
+ --oods-viz-scale-diverging-pos-02: oklch(0.58 0.095935 17.5); /** scale.diverging.pos-02; generated from palette/seeds.json by generate-palette.ts. */
26
+ --oods-viz-scale-diverging-neg-03: oklch(0.46 0.078268 197.5); /** scale.diverging.neg-03; generated from palette/seeds.json by generate-palette.ts. */
27
+ --oods-viz-scale-diverging-pos-03: oklch(0.46 0.078268 17.5); /** scale.diverging.pos-03; generated from palette/seeds.json by generate-palette.ts. */
28
+ --oods-viz-scale-diverging-neg-04: oklch(0.34 0.057851 197.5); /** scale.diverging.neg-04; generated from palette/seeds.json by generate-palette.ts. */
29
+ --oods-viz-scale-diverging-pos-04: oklch(0.34 0.057851 17.5); /** scale.diverging.pos-04; generated from palette/seeds.json by generate-palette.ts. */
30
+ --oods-viz-scale-diverging-neg-05: oklch(0.22 0.037435 197.5); /** scale.diverging.neg-05; generated from palette/seeds.json by generate-palette.ts. */
31
+ --oods-viz-scale-diverging-pos-05: oklch(0.22 0.037435 17.5); /** scale.diverging.pos-05; generated from palette/seeds.json by generate-palette.ts. */
32
+ --oods-viz-scale-diverging-neutral: oklch(0.82 0 265); /** scale.diverging.neutral; generated from palette/seeds.json by generate-palette.ts. */
33
+ --oods-viz-size-point-01: 3px; /** Point glyph size XS for dense scatterplots. */
34
+ --oods-viz-size-point-02: 5px; /** Point glyph size SM for multi-series overlays. */
35
+ --oods-viz-size-point-03: 7px; /** Point glyph size MD used as default marker radius. */
36
+ --oods-viz-size-point-04: 10px; /** Point glyph size LG for highlighted selections. */
37
+ --oods-viz-size-point-05: 14px; /** Point glyph size XL for focus or annotations. */
38
+ --oods-viz-size-stroke-01: 1px; /** Stroke width hairline (grid, helper lines). */
39
+ --oods-viz-size-stroke-02: 2px; /** Stroke width default for lines and outlines. */
40
+ --oods-viz-size-stroke-03: 3px; /** Stroke width heavy for emphasis/selection. */
41
+ --oods-viz-size-stroke-04: 4px; /** Stroke width extreme for focus/highlight bands. */
42
+ --oods-viz-size-bar-narrow: 12px; /** Bar width for compact spark-style charts. */
43
+ --oods-viz-size-bar-standard: 18px; /** Bar width default for dashboard usage. */
44
+ --oods-viz-size-bar-wide: 24px; /** Bar width for storytelling layouts or focus states. */
45
+ --oods-viz-map-basemap-stroke-width: 0.5px; /** Base map stroke width for subtle boundary lines. */
46
+ --oods-viz-map-region-stroke-width: 1px; /** Region boundary stroke width. */
47
+ --oods-viz-map-region-hover-stroke-width: 2px; /** Region stroke width on hover state. */
48
+ --oods-viz-map-symbol-stroke-width: 1px; /** Symbol outline stroke width. */
49
+ --oods-viz-map-symbol-min-radius: 4px; /** Minimum symbol radius for bubble maps. */
50
+ --oods-viz-map-symbol-max-radius: 40px; /** Maximum symbol radius for bubble maps. */
51
+ --oods-viz-map-route-stroke-opacity: 0.6; /** Default opacity for route/flow lines. */
52
+ --oods-viz-map-route-min-width: 1px; /** Minimum route line width. */
53
+ --oods-viz-map-route-max-width: 10px; /** Maximum route line width for high-volume flows. */
54
+ --oods-motion-duration-fast: 120ms; /** Snappy micro interactions such as hovers. */
55
+ --oods-motion-duration-base: 180ms; /** Default interaction tempo for focus, chips, and buttons. */
56
+ --oods-motion-duration-slow: 320ms; /** Long-form transitions like banners entering the viewport. */
57
+ --oods-motion-easing-standard: cubic-bezier(0.2, 0, 0.38, 1); /** Primary ease-out curve for UI transitions. */
58
+ --oods-motion-easing-emphasized: cubic-bezier(0.05, 0.7, 0.1, 1); /** Emphasized ease for entrance motion requiring more weight. */
59
+ --oods-motion-easing-linear: cubic-bezier(0, 0, 1, 1); /** Linear fallback for reduced-motion scenarios. */
60
+ --oods-motion-transition-hover-delay: 0ms; /** Hover affordances across buttons, chips, and cards. */
61
+ --oods-motion-transition-focus-delay: 0ms; /** Focus outlines and glow elevation. */
62
+ --oods-motion-transition-chip-in-delay: 0ms; /** Chip selection and entry into filter groups. */
63
+ --oods-motion-transition-chip-out-delay: 0ms; /** Chip deselection or removal. */
64
+ --oods-motion-transition-banner-reveal-delay: 20ms; /** Banner entrance along the vertical axis. */
65
+ --oods-motion-reduced-duration-fast: 0ms; /** Instant feedback for motion-sensitive contexts. */
66
+ --oods-motion-reduced-duration-base: 0ms; /** Primary reduced-motion tempo. */
67
+ --oods-motion-reduced-duration-slow: 0ms; /** Long-form transitions collapse to zero in reduced motion. */
68
+ --oods-motion-reduced-transition-hover-delay: 0ms; /** Hover states snap immediately when motion is reduced. */
69
+ --oods-motion-reduced-transition-focus-delay: 0ms; /** Focus rings become instant in reduced-motion. */
70
+ --oods-motion-reduced-transition-chip-in-delay: 0ms; /** Chip selection occurs without momentum. */
71
+ --oods-motion-reduced-transition-chip-out-delay: 0ms; /** Chip removal happens immediately. */
72
+ --oods-motion-reduced-transition-banner-reveal-delay: 0ms; /** Banner reveal falls back to an instant appearance. */
73
+ --oods-shadow-elevation-card-offset-x: 0px; /** Baseline elevation shadow for cards and raised panels. */
74
+ --oods-shadow-elevation-card-offset-y: 16px; /** Baseline elevation shadow for cards and raised panels. */
75
+ --oods-shadow-elevation-card-blur: 40px; /** Baseline elevation shadow for cards and raised panels. */
76
+ --oods-shadow-elevation-card-spread: -12px; /** Baseline elevation shadow for cards and raised panels. */
77
+ --oods-shadow-elevation-card-color: rgba(15, 23, 42, 0.12); /** Baseline elevation shadow for cards and raised panels. */
78
+ --oods-shadow-elevation-overlay-offset-x: 0px; /** High elevation shadow used for overlays and dialogs. */
79
+ --oods-shadow-elevation-overlay-offset-y: 24px; /** High elevation shadow used for overlays and dialogs. */
80
+ --oods-shadow-elevation-overlay-blur: 56px; /** High elevation shadow used for overlays and dialogs. */
81
+ --oods-shadow-elevation-overlay-spread: -16px; /** High elevation shadow used for overlays and dialogs. */
82
+ --oods-shadow-elevation-overlay-color: rgba(15, 23, 42, 0.24); /** High elevation shadow used for overlays and dialogs. */
83
+ --ref-border-width-hairline: 1px; /** Hairline border width for foundational surfaces. */
84
+ --ref-border-width-bold: 2px; /** Bold border width for emphasis and outlines. */
85
+ --ref-border-width-emphasis: 3px; /** Emphasis border width for selected-state indicators such as the active tab underline. */
86
+ --ref-border-radius-sm: 8px; /** Small radius for banners and compact surfaces. */
87
+ --ref-border-radius-md: 12px; /** Medium radius for cards and panels. */
88
+ --ref-border-radius-pill: 999px; /** Pill radius for chip and badge treatments. */
89
+ --ref-border-style-solid: solid; /** Solid border style for primary UI elements. */
90
+ --ref-color-primary-50: oklch(0.985 0.003391 43); /** ref.color.primary.50; generated from palette/seeds.json by generate-palette.ts. */
91
+ --ref-color-primary-100: oklch(0.95 0.01614 43); /** ref.color.primary.100; generated from palette/seeds.json by generate-palette.ts. */
92
+ --ref-color-primary-200: oklch(0.89 0.044065 43); /** ref.color.primary.200; generated from palette/seeds.json by generate-palette.ts. */
93
+ --ref-color-primary-300: oklch(0.81 0.085116 43); /** ref.color.primary.300; generated from palette/seeds.json by generate-palette.ts. */
94
+ --ref-color-primary-400: oklch(0.71 0.132525 43); /** ref.color.primary.400; generated from palette/seeds.json by generate-palette.ts. */
95
+ --ref-color-primary-500: oklch(0.55 0.162905 43); /** ref.color.primary.500; generated from palette/seeds.json by generate-palette.ts. */
96
+ --ref-color-primary-600: oklch(0.45 0.133287 43); /** ref.color.primary.600; generated from palette/seeds.json by generate-palette.ts. */
97
+ --ref-color-primary-700: oklch(0.41 0.12144 43); /** ref.color.primary.700; generated from palette/seeds.json by generate-palette.ts. */
98
+ --ref-color-primary-800: oklch(0.34 0.100707 43); /** ref.color.primary.800; generated from palette/seeds.json by generate-palette.ts. */
99
+ --ref-color-primary-900: oklch(0.25 0.074053 43); /** ref.color.primary.900; generated from palette/seeds.json by generate-palette.ts. */
100
+ --ref-color-primary-950: oklch(0.18 0.053324 43); /** ref.color.primary.950; generated from palette/seeds.json by generate-palette.ts. */
101
+ --ref-color-accent-50: oklch(0.985 0.002826 305); /** ref.color.accent.50; generated from palette/seeds.json by generate-palette.ts. */
102
+ --ref-color-accent-100: oklch(0.95 0.01345 305); /** ref.color.accent.100; generated from palette/seeds.json by generate-palette.ts. */
103
+ --ref-color-accent-200: oklch(0.89 0.036721 305); /** ref.color.accent.200; generated from palette/seeds.json by generate-palette.ts. */
104
+ --ref-color-accent-300: oklch(0.81 0.07093 305); /** ref.color.accent.300; generated from palette/seeds.json by generate-palette.ts. */
105
+ --ref-color-accent-400: oklch(0.71 0.110438 305); /** ref.color.accent.400; generated from palette/seeds.json by generate-palette.ts. */
106
+ --ref-color-accent-500: oklch(0.6 0.140527 305); /** ref.color.accent.500; generated from palette/seeds.json by generate-palette.ts. */
107
+ --ref-color-accent-600: oklch(0.5 0.15 305); /** ref.color.accent.600; generated from palette/seeds.json by generate-palette.ts. */
108
+ --ref-color-accent-700: oklch(0.42 0.143903 305); /** ref.color.accent.700; generated from palette/seeds.json by generate-palette.ts. */
109
+ --ref-color-accent-800: oklch(0.34 0.126341 305); /** ref.color.accent.800; generated from palette/seeds.json by generate-palette.ts. */
110
+ --ref-color-accent-900: oklch(0.25 0.095592 305); /** ref.color.accent.900; generated from palette/seeds.json by generate-palette.ts. */
111
+ --ref-color-accent-950: oklch(0.18 0.066654 305); /** ref.color.accent.950; generated from palette/seeds.json by generate-palette.ts. */
112
+ --ref-color-neutral-0: oklch(1 0 265); /** ref.color.neutral.0; generated from palette/seeds.json by generate-palette.ts. */
113
+ --ref-color-neutral-50: oklch(0.985 0.002339 265); /** ref.color.neutral.50; generated from palette/seeds.json by generate-palette.ts. */
114
+ --ref-color-neutral-100: oklch(0.95 0.003614 265); /** ref.color.neutral.100; generated from palette/seeds.json by generate-palette.ts. */
115
+ --ref-color-neutral-200: oklch(0.89 0.006407 265); /** ref.color.neutral.200; generated from palette/seeds.json by generate-palette.ts. */
116
+ --ref-color-neutral-300: oklch(0.81 0.010512 265); /** ref.color.neutral.300; generated from palette/seeds.json by generate-palette.ts. */
117
+ --ref-color-neutral-400: oklch(0.71 0.015253 265); /** ref.color.neutral.400; generated from palette/seeds.json by generate-palette.ts. */
118
+ --ref-color-neutral-500: oklch(0.6 0.018863 265); /** ref.color.neutral.500; generated from palette/seeds.json by generate-palette.ts. */
119
+ --ref-color-neutral-600: oklch(0.5 0.02 265); /** ref.color.neutral.600; generated from palette/seeds.json by generate-palette.ts. */
120
+ --ref-color-neutral-700: oklch(0.42 0.019268 265); /** ref.color.neutral.700; generated from palette/seeds.json by generate-palette.ts. */
121
+ --ref-color-neutral-800: oklch(0.34 0.017161 265); /** ref.color.neutral.800; generated from palette/seeds.json by generate-palette.ts. */
122
+ --ref-color-neutral-900: oklch(0.25 0.013471 265); /** ref.color.neutral.900; generated from palette/seeds.json by generate-palette.ts. */
123
+ --ref-color-neutral-950: oklch(0.18 0.009998 265); /** ref.color.neutral.950; generated from palette/seeds.json by generate-palette.ts. */
124
+ --ref-color-info-50: oklch(0.985 0.002826 245); /** ref.color.info.50; generated from palette/seeds.json by generate-palette.ts. */
125
+ --ref-color-info-100: oklch(0.95 0.01345 245); /** ref.color.info.100; generated from palette/seeds.json by generate-palette.ts. */
126
+ --ref-color-info-200: oklch(0.89 0.036721 245); /** ref.color.info.200; generated from palette/seeds.json by generate-palette.ts. */
127
+ --ref-color-info-300: oklch(0.81 0.07093 245); /** ref.color.info.300; generated from palette/seeds.json by generate-palette.ts. */
128
+ --ref-color-info-400: oklch(0.71 0.110438 245); /** ref.color.info.400; generated from palette/seeds.json by generate-palette.ts. */
129
+ --ref-color-info-500: oklch(0.6 0.140527 245); /** ref.color.info.500; generated from palette/seeds.json by generate-palette.ts. */
130
+ --ref-color-info-600: oklch(0.5 0.125855 245); /** ref.color.info.600; generated from palette/seeds.json by generate-palette.ts. */
131
+ --ref-color-info-700: oklch(0.42 0.105718 245); /** ref.color.info.700; generated from palette/seeds.json by generate-palette.ts. */
132
+ --ref-color-info-800: oklch(0.34 0.085582 245); /** ref.color.info.800; generated from palette/seeds.json by generate-palette.ts. */
133
+ --ref-color-info-900: oklch(0.25 0.06293 245); /** ref.color.info.900; generated from palette/seeds.json by generate-palette.ts. */
134
+ --ref-color-info-950: oklch(0.18 0.045314 245); /** ref.color.info.950; generated from palette/seeds.json by generate-palette.ts. */
135
+ --ref-color-success-50: oklch(0.985 0.002637 155); /** ref.color.success.50; generated from palette/seeds.json by generate-palette.ts. */
136
+ --ref-color-success-100: oklch(0.95 0.012553 155); /** ref.color.success.100; generated from palette/seeds.json by generate-palette.ts. */
137
+ --ref-color-success-200: oklch(0.89 0.034273 155); /** ref.color.success.200; generated from palette/seeds.json by generate-palette.ts. */
138
+ --ref-color-success-300: oklch(0.81 0.066202 155); /** ref.color.success.300; generated from palette/seeds.json by generate-palette.ts. */
139
+ --ref-color-success-400: oklch(0.71 0.103075 155); /** ref.color.success.400; generated from palette/seeds.json by generate-palette.ts. */
140
+ --ref-color-success-500: oklch(0.6 0.131158 155); /** ref.color.success.500; generated from palette/seeds.json by generate-palette.ts. */
141
+ --ref-color-success-600: oklch(0.5 0.12361 155); /** ref.color.success.600; generated from palette/seeds.json by generate-palette.ts. */
142
+ --ref-color-success-700: oklch(0.42 0.103833 155); /** ref.color.success.700; generated from palette/seeds.json by generate-palette.ts. */
143
+ --ref-color-success-800: oklch(0.34 0.084056 155); /** ref.color.success.800; generated from palette/seeds.json by generate-palette.ts. */
144
+ --ref-color-success-900: oklch(0.25 0.061808 155); /** ref.color.success.900; generated from palette/seeds.json by generate-palette.ts. */
145
+ --ref-color-success-950: oklch(0.18 0.044505 155); /** ref.color.success.950; generated from palette/seeds.json by generate-palette.ts. */
146
+ --ref-color-warning-50: oklch(0.985 0.002826 85); /** ref.color.warning.50; generated from palette/seeds.json by generate-palette.ts. */
147
+ --ref-color-warning-100: oklch(0.95 0.01345 85); /** ref.color.warning.100; generated from palette/seeds.json by generate-palette.ts. */
148
+ --ref-color-warning-200: oklch(0.89 0.036721 85); /** ref.color.warning.200; generated from palette/seeds.json by generate-palette.ts. */
149
+ --ref-color-warning-300: oklch(0.81 0.07093 85); /** ref.color.warning.300; generated from palette/seeds.json by generate-palette.ts. */
150
+ --ref-color-warning-400: oklch(0.71 0.110438 85); /** ref.color.warning.400; generated from palette/seeds.json by generate-palette.ts. */
151
+ --ref-color-warning-500: oklch(0.6 0.122968 85); /** ref.color.warning.500; generated from palette/seeds.json by generate-palette.ts. */
152
+ --ref-color-warning-600: oklch(0.5 0.102474 85); /** ref.color.warning.600; generated from palette/seeds.json by generate-palette.ts. */
153
+ --ref-color-warning-700: oklch(0.42 0.086078 85); /** ref.color.warning.700; generated from palette/seeds.json by generate-palette.ts. */
154
+ --ref-color-warning-800: oklch(0.34 0.069683 85); /** ref.color.warning.800; generated from palette/seeds.json by generate-palette.ts. */
155
+ --ref-color-warning-900: oklch(0.25 0.05124 85); /** ref.color.warning.900; generated from palette/seeds.json by generate-palette.ts. */
156
+ --ref-color-warning-950: oklch(0.18 0.036897 85); /** ref.color.warning.950; generated from palette/seeds.json by generate-palette.ts. */
157
+ --ref-color-critical-50: oklch(0.985 0.003391 25); /** ref.color.critical.50; generated from palette/seeds.json by generate-palette.ts. */
158
+ --ref-color-critical-100: oklch(0.95 0.01614 25); /** ref.color.critical.100; generated from palette/seeds.json by generate-palette.ts. */
159
+ --ref-color-critical-200: oklch(0.89 0.044065 25); /** ref.color.critical.200; generated from palette/seeds.json by generate-palette.ts. */
160
+ --ref-color-critical-300: oklch(0.81 0.085116 25); /** ref.color.critical.300; generated from palette/seeds.json by generate-palette.ts. */
161
+ --ref-color-critical-400: oklch(0.71 0.132525 25); /** ref.color.critical.400; generated from palette/seeds.json by generate-palette.ts. */
162
+ --ref-color-critical-500: oklch(0.6 0.168632 25); /** ref.color.critical.500; generated from palette/seeds.json by generate-palette.ts. */
163
+ --ref-color-critical-600: oklch(0.5 0.18 25); /** ref.color.critical.600; generated from palette/seeds.json by generate-palette.ts. */
164
+ --ref-color-critical-700: oklch(0.42 0.170269 25); /** ref.color.critical.700; generated from palette/seeds.json by generate-palette.ts. */
165
+ --ref-color-critical-800: oklch(0.34 0.137838 25); /** ref.color.critical.800; generated from palette/seeds.json by generate-palette.ts. */
166
+ --ref-color-critical-900: oklch(0.25 0.101354 25); /** ref.color.critical.900; generated from palette/seeds.json by generate-palette.ts. */
167
+ --ref-color-critical-950: oklch(0.18 0.07298 25); /** ref.color.critical.950; generated from palette/seeds.json by generate-palette.ts. */
168
+ --ref-color-archive-50: oklch(0.985 0.001224 285); /** ref.color.archive.50; generated from palette/seeds.json by generate-palette.ts. */
169
+ --ref-color-archive-100: oklch(0.95 0.005828 285); /** ref.color.archive.100; generated from palette/seeds.json by generate-palette.ts. */
170
+ --ref-color-archive-200: oklch(0.89 0.015912 285); /** ref.color.archive.200; generated from palette/seeds.json by generate-palette.ts. */
171
+ --ref-color-archive-300: oklch(0.81 0.030736 285); /** ref.color.archive.300; generated from palette/seeds.json by generate-palette.ts. */
172
+ --ref-color-archive-400: oklch(0.71 0.047856 285); /** ref.color.archive.400; generated from palette/seeds.json by generate-palette.ts. */
173
+ --ref-color-archive-500: oklch(0.6 0.060895 285); /** ref.color.archive.500; generated from palette/seeds.json by generate-palette.ts. */
174
+ --ref-color-archive-600: oklch(0.5 0.065 285); /** ref.color.archive.600; generated from palette/seeds.json by generate-palette.ts. */
175
+ --ref-color-archive-700: oklch(0.42 0.062358 285); /** ref.color.archive.700; generated from palette/seeds.json by generate-palette.ts. */
176
+ --ref-color-archive-800: oklch(0.34 0.054748 285); /** ref.color.archive.800; generated from palette/seeds.json by generate-palette.ts. */
177
+ --ref-color-archive-900: oklch(0.25 0.041423 285); /** ref.color.archive.900; generated from palette/seeds.json by generate-palette.ts. */
178
+ --ref-color-archive-950: oklch(0.18 0.028883 285); /** ref.color.archive.950; generated from palette/seeds.json by generate-palette.ts. */
179
+ --ref-space-inset-compact: 8px; /** Compact padding for dense containers. */
180
+ --ref-space-inset-default: 24px; /** Default padding for primary cards and panels. */
181
+ --ref-space-stack-compact: 12px; /** Tight vertical spacing between related items. */
182
+ --ref-space-stack-default: 20px; /** Standard vertical spacing between sections. */
183
+ --ref-space-inline-xs: 8px; /** Compact horizontal spacing. */
184
+ --ref-space-inline-sm: 14px; /** Small horizontal spacing used in chip contexts. */
185
+ --ref-space-scale-sm: 8px; /** Small geometry scalar (= 0.5rem); seeds the size.spacing contract. */
186
+ --ref-space-scale-md: 14px; /** Medium geometry scalar (= 0.875rem); seeds the size.spacing contract. */
187
+ --ref-space-scale-lg: 20px; /** Large geometry scalar (= 1.25rem); continues the +0.375rem scale ramp (sm 8 / md 14 / lg 20). Completes the t-shirt set so emitter md/sm/lg all resolve (sprint-125 m03). */
188
+ --ref-space-ramp-100: 0.25rem; /** Component geometry ramp 100: 0.25rem (4px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
189
+ --ref-space-ramp-150: 0.375rem; /** Component geometry ramp 150: 0.375rem (6px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
190
+ --ref-space-ramp-200: 0.5rem; /** Component geometry ramp 200: 0.5rem (8px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). Equals ref.space.scale.sm. */
191
+ --ref-space-ramp-250: 0.625rem; /** Component geometry ramp 250: 0.625rem (10px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
192
+ --ref-space-ramp-300: 0.75rem; /** Component geometry ramp 300: 0.75rem (12px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). Equals ref.space.stack.compact. */
193
+ --ref-space-ramp-400: 1rem; /** Component geometry ramp 400: 1rem (16px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
194
+ --ref-space-ramp-500: 1.25rem; /** Component geometry ramp 500: 1.25rem (20px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). Equals ref.space.scale.lg. */
195
+ --ref-space-ramp-600: 1.5rem; /** Component geometry ramp 600: 1.5rem (24px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). Equals ref.space.inset.default. */
196
+ --ref-space-ramp-800: 2rem; /** Component geometry ramp 800: 2rem (32px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
197
+ --ref-space-ramp-1000: 2.5rem; /** Component geometry ramp 1000: 2.5rem (40px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
198
+ --ref-space-ramp-1200: 3rem; /** Component geometry ramp 1200: 3rem (48px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
199
+ --ref-space-ramp-050: 0.125rem; /** Component geometry ramp 050: 0.125rem (2px at the 16px root). 100 is the 4px unit; every sys component geometry role resolves to one ramp entry (Sprint 200 m02). */
200
+ --ref-shadow-color-subtle: rgba(15, 23, 42, 0.12); /** Soft ambient shadow colour for elevated surfaces. */
201
+ --ref-shadow-color-strong: rgba(15, 23, 42, 0.24); /** Stronger shadow colour for high elevation overlays. */
202
+ --ref-typography-families-sans: 'DM Sans', '"Helvetica Neue"', Helvetica, Arial, sans-serif; /** Brand A primary sans-serif — Aeonik with system fallbacks. */
203
+ --ref-typography-families-display: 'Cormorant Garamond', Cormorant, Georgia, '"Times New Roman"', serif; /** Brand A display serif — Canela for large editorial headings. */
204
+ --ref-typography-weights-regular: 400; /** Standard reading weight. */
205
+ --ref-typography-weights-medium: 500; /** Medium emphasis for supporting text and labels. */
206
+ --ref-typography-weights-semibold: 600; /** Semibold weight for headings and key UI labels. */
207
+ --ref-typography-weights-bold: 700; /** Bold weight for hero headings and emphasis. */
208
+ --ref-typography-weights-light: 300; /** Light weight for editorial display headings. */
209
+ --ref-typography-sizes-xs: 12px; /** Caption scale. */
210
+ --ref-typography-sizes-sm: 14px; /** Compact body/label scale. */
211
+ --ref-typography-sizes-md: 16px; /** Default reading scale. */
212
+ --ref-typography-sizes-lg: 20px; /** Large supporting heading scale. */
213
+ --ref-typography-sizes-xl: 24px; /** Primary heading scale. */
214
+ --ref-typography-sizes-xxl: 32px; /** Hero heading scale. */
215
+ --ref-typography-sizes-display-sm: 48px; /** Small display heading — section heroes and feature titles. */
216
+ --ref-typography-sizes-display-md: 64px; /** Medium display heading — page hero titles. */
217
+ --ref-typography-sizes-display-lg: 80px; /** Large display heading — homepage hero statement. */
218
+ --ref-typography-line-height-tight: 120%; /** Tight rhythm for headlines and compact contexts. */
219
+ --ref-typography-line-height-standard: 140%; /** Baseline rhythm for UI text. */
220
+ --ref-typography-line-height-relaxed: 150%; /** Relaxed rhythm for dense reading. */
221
+ --ref-typography-line-height-loose: 160%; /** Loose rhythm for long-form detail views. */
222
+ --ref-typography-letter-spacing-tight: -0.01em; /** Tight tracking for large headings. */
223
+ --ref-typography-letter-spacing-default: 0em; /** Neutral tracking for body copy. */
224
+ --ref-typography-letter-spacing-wide: 0.08em; /** Wide tracking for uppercase captions. */
225
+ --oods-overlay-backdrop-opacity: 0.5; /** Default backdrop opacity for overlays. */
226
+ --oods-overlay-transition-open-delay: 0ms; /** Overlay open transition; collapses under reduced motion. */
227
+ --oods-overlay-transition-close-delay: 0ms; /** Overlay close transition; collapses under reduced motion. */
228
+ --sys-breakpoint-sm: 640; /** 640px. Number-typed so every platform emits a bare literal; a dimension would emit an invalid raw string into Swift and Kotlin. Value adopted from the installed Tailwind default, not invented — the repo already renders against it. */
229
+ --sys-breakpoint-md: 768; /** 768px. Tablet-portrait class, and the width the view-context rail collapses at (authored as a 48rem @container threshold). */
230
+ --sys-breakpoint-lg: 1024; /** 1024px. Tablet-landscape / small-laptop class. */
231
+ --sys-breakpoint-xl: 1280; /** 1280px. The viewport the VRT and a11y-contract capture suites run at. */
232
+ --sys-breakpoint-2xl: 1536; /** 1536px. Zero 2xl: usages in the repo today; it ships so the scale is complete and the generated Tailwind screens map stays identical to the framework default it replaces. Keys are authored ascending sm -> 2xl because Tailwind emits @media blocks in config order. */
233
+ --sys-shadow-panel-offset-x: 0px; /** Raised-panel shadow; the card elevation from the reference shadow scale, expanded into its parts. */
234
+ --sys-shadow-panel-offset-y: 16px; /** Raised-panel shadow; the card elevation from the reference shadow scale, expanded into its parts. */
235
+ --sys-shadow-panel-blur: 40px; /** Raised-panel shadow; the card elevation from the reference shadow scale, expanded into its parts. */
236
+ --sys-shadow-panel-spread: -12px; /** Raised-panel shadow; the card elevation from the reference shadow scale, expanded into its parts. */
237
+ --sys-shadow-panel-color: rgba(15, 23, 42, 0.12); /** Raised-panel shadow; the card elevation from the reference shadow scale, expanded into its parts. */
238
+ --sys-shadow-overlay-offset-x: 0px; /** Overlay shadow for menus and trays; the overlay elevation from the reference shadow scale, expanded into its parts. */
239
+ --sys-shadow-overlay-offset-y: 24px; /** Overlay shadow for menus and trays; the overlay elevation from the reference shadow scale, expanded into its parts. */
240
+ --sys-shadow-overlay-blur: 56px; /** Overlay shadow for menus and trays; the overlay elevation from the reference shadow scale, expanded into its parts. */
241
+ --sys-shadow-overlay-spread: -16px; /** Overlay shadow for menus and trays; the overlay elevation from the reference shadow scale, expanded into its parts. */
242
+ --sys-shadow-overlay-color: rgba(15, 23, 42, 0.24); /** Overlay shadow for menus and trays; the overlay elevation from the reference shadow scale, expanded into its parts. */
243
+ --sys-motion-reduced-transition-hover-delay: 0ms; /** Reduced-motion hover transition. */
244
+ --sys-motion-reduced-transition-focus-delay: 0ms; /** Reduced-motion focus transition. */
245
+ --sys-motion-reduced-transition-chip-in-delay: 0ms; /** Reduced-motion chip entry transition. */
246
+ --sys-motion-reduced-transition-chip-out-delay: 0ms; /** Reduced-motion chip exit transition. */
247
+ --sys-motion-reduced-transition-banner-reveal-delay: 0ms; /** Reduced-motion banner reveal transition. */
248
+ --sys-motion-transition-hover-delay: 0ms; /** System hover transition for interactive affordances. */
249
+ --sys-motion-transition-focus-delay: 0ms; /** System focus transition for outlines/glow. */
250
+ --sys-motion-transition-chip-in-delay: 0ms; /** System chip entry transition. */
251
+ --sys-motion-transition-chip-out-delay: 0ms; /** System chip exit transition. */
252
+ --sys-motion-transition-banner-reveal-delay: 20ms; /** System banner reveal transition. */
253
+ --sys-text-scale-caption-text-case: uppercase; /** System caption scale. */
254
+ --sys-text-scale-label-md-text-case: none; /** System label medium scale. */
255
+ --oods-text-scale-caption-text-case: uppercase; /** Caption text for metadata, badges, and helper copy. */
256
+ --oods-text-scale-label-md-text-case: none; /** Form labels and actionable micro copy. */
257
+ --oods-z-base: 0; /** Default stacking context for page content. */
258
+ --oods-z-raised: 10; /** Raised cards and sticky UI. */
259
+ --oods-z-overlay: 1000; /** Modal overlays and backdrops. */
260
+ --oods-z-toast: 1100; /** Toasts and non-blocking alerts. */
261
+ --oods-z-tooltip: 1200; /** Tooltips and popovers above overlays. */
262
+ --theme-dark-focus-ring-outer: oklch(0.85 0.046426 43); /** color.brand.A.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
263
+ --theme-dark-focus-ring-inner: oklch(0.18 0.008 265); /** color.brand.A.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
264
+ --theme-dark-focus-text: oklch(0.82 0.047991 305); /** color.brand.A.focus.text; generated from palette/seeds.json by generate-palette.ts. */
265
+ --theme-dark-focus-width: 2px; /** Focus ring width shared with light theme. */
266
+ --theme-dark-motion-duration-fast: 120ms; /** Snappy micro interactions such as hovers. */
267
+ --theme-dark-motion-duration-base: 180ms; /** Default interaction tempo for focus, chips, and buttons. */
268
+ --theme-dark-motion-duration-slow: 320ms; /** Long-form transitions like banners entering the viewport. */
269
+ --theme-dark-motion-easing-standard: cubic-bezier(0.2, 0, 0.38, 1); /** Primary ease-out curve for UI transitions. */
270
+ --theme-dark-motion-easing-emphasized: cubic-bezier(0.05, 0.7, 0.1, 1); /** Emphasized ease for entrance motion requiring more weight. */
271
+ --theme-dark-motion-easing-linear: cubic-bezier(0, 0, 1, 1); /** Linear fallback for reduced-motion scenarios. */
272
+ --theme-dark-motion-transition-hover-delay: 0ms; /** Hover affordances across buttons, chips, and cards. */
273
+ --theme-dark-motion-transition-focus-delay: 0ms; /** Focus outlines and glow elevation. */
274
+ --theme-dark-motion-transition-chip-in-delay: 0ms; /** Chip selection and entry into filter groups. */
275
+ --theme-dark-motion-transition-chip-out-delay: 0ms; /** Chip deselection or removal. */
276
+ --theme-dark-motion-transition-banner-reveal-delay: 20ms; /** Banner entrance along the vertical axis. */
277
+ --theme-dark-motion-reduced-duration-fast: 0ms; /** Instant feedback for motion-sensitive contexts. */
278
+ --theme-dark-motion-reduced-duration-base: 0ms; /** Primary reduced-motion tempo. */
279
+ --theme-dark-motion-reduced-duration-slow: 0ms; /** Long-form transitions collapse to zero in reduced motion. */
280
+ --theme-dark-motion-reduced-transition-hover-delay: 0ms; /** Hover states snap immediately when motion is reduced. */
281
+ --theme-dark-motion-reduced-transition-focus-delay: 0ms; /** Focus rings become instant in reduced-motion. */
282
+ --theme-dark-motion-reduced-transition-chip-in-delay: 0ms; /** Chip selection occurs without momentum. */
283
+ --theme-dark-motion-reduced-transition-chip-out-delay: 0ms; /** Chip removal happens immediately. */
284
+ --theme-dark-motion-reduced-transition-banner-reveal-delay: 0ms; /** Banner reveal falls back to an instant appearance. */
285
+ --theme-dark-shadow-elevation-card-offset-x: 0px; /** Primary elevation for dark cards—leans on outline support with a low, cool glow. */
286
+ --theme-dark-shadow-elevation-card-offset-y: 18px; /** Primary elevation for dark cards—leans on outline support with a low, cool glow. */
287
+ --theme-dark-shadow-elevation-card-blur: 48px; /** Primary elevation for dark cards—leans on outline support with a low, cool glow. */
288
+ --theme-dark-shadow-elevation-card-spread: -28px; /** Primary elevation for dark cards—leans on outline support with a low, cool glow. */
289
+ --theme-dark-shadow-elevation-card-color: rgba(4, 10, 22, 0.48); /** Primary elevation for dark cards—leans on outline support with a low, cool glow. */
290
+ --theme-dark-shadow-elevation-overlay-offset-x: 0px; /** Overlay elevation tuned for modals and trays without blooming. */
291
+ --theme-dark-shadow-elevation-overlay-offset-y: 32px; /** Overlay elevation tuned for modals and trays without blooming. */
292
+ --theme-dark-shadow-elevation-overlay-blur: 68px; /** Overlay elevation tuned for modals and trays without blooming. */
293
+ --theme-dark-shadow-elevation-overlay-spread: -30px; /** Overlay elevation tuned for modals and trays without blooming. */
294
+ --theme-dark-shadow-elevation-overlay-color: rgba(8, 18, 38, 0.55); /** Overlay elevation tuned for modals and trays without blooming. */
295
+ --theme-dark-status-info-surface: oklch(0.28 0.070481 245); /** color.brand.A.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
296
+ --theme-dark-status-info-border: oklch(0.45 0.106275 245); /** color.brand.A.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
297
+ --theme-dark-status-info-text: oklch(0.88 0.029459 245); /** color.brand.A.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
298
+ --theme-dark-status-info-icon: oklch(0.8 0.054126 245); /** color.brand.A.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
299
+ --theme-dark-status-success-surface: oklch(0.28 0.069224 155); /** color.brand.A.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
300
+ --theme-dark-status-success-border: oklch(0.45 0.09919 155); /** color.brand.A.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
301
+ --theme-dark-status-success-text: oklch(0.88 0.027495 155); /** color.brand.A.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
302
+ --theme-dark-status-success-icon: oklch(0.8 0.050518 155); /** color.brand.A.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
303
+ --theme-dark-status-warning-surface: oklch(0.28 0.057387 85); /** color.brand.A.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
304
+ --theme-dark-status-warning-border: oklch(0.45 0.092227 85); /** color.brand.A.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
305
+ --theme-dark-status-warning-text: oklch(0.88 0.029459 85); /** color.brand.A.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
306
+ --theme-dark-status-warning-icon: oklch(0.8 0.054126 85); /** color.brand.A.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
307
+ --theme-dark-status-critical-surface: oklch(0.28 0.092346 25); /** color.brand.A.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
308
+ --theme-dark-status-critical-border: oklch(0.45 0.12753 25); /** color.brand.A.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
309
+ --theme-dark-status-critical-text: oklch(0.88 0.035351 25); /** color.brand.A.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
310
+ --theme-dark-status-critical-icon: oklch(0.8 0.064952 25); /** color.brand.A.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
311
+ --theme-dark-status-neutral-surface: oklch(0.28 0.010261 265); /** color.brand.A.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
312
+ --theme-dark-status-neutral-border: oklch(0.45 0.01417 265); /** color.brand.A.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
313
+ --theme-dark-status-neutral-text: oklch(0.88 0.003928 265); /** color.brand.A.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
314
+ --theme-dark-status-neutral-icon: oklch(0.8 0.007217 265); /** color.brand.A.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
315
+ --theme-dark-status-accent-surface: oklch(0.28 0.076955 305); /** accent.surface; generated from palette/seeds.json by generate-palette.ts. */
316
+ --theme-dark-status-accent-border: oklch(0.45 0.106275 305); /** accent.border; generated from palette/seeds.json by generate-palette.ts. */
317
+ --theme-dark-status-accent-text: oklch(0.88 0.029459 305); /** accent.text; generated from palette/seeds.json by generate-palette.ts. */
318
+ --theme-dark-status-accent-icon: oklch(0.8 0.054126 305); /** accent.icon; generated from palette/seeds.json by generate-palette.ts. */
319
+ --theme-dark-status-archive-surface: oklch(0.28 0.033347 285); /** archive.surface; generated from palette/seeds.json by generate-palette.ts. */
320
+ --theme-dark-status-archive-border: oklch(0.45 0.046052 285); /** archive.border; generated from palette/seeds.json by generate-palette.ts. */
321
+ --theme-dark-status-archive-text: oklch(0.88 0.012766 285); /** archive.text; generated from palette/seeds.json by generate-palette.ts. */
322
+ --theme-dark-status-archive-icon: oklch(0.8 0.023455 285); /** archive.icon; generated from palette/seeds.json by generate-palette.ts. */
323
+ --theme-dark-surface-canvas: oklch(0.18 0.008 265); /** color.brand.A.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
324
+ --theme-dark-surface-raised: oklch(0.215 0.008 265); /** color.brand.A.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
325
+ --theme-dark-surface-subtle: oklch(0.25 0.008 265); /** color.brand.A.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
326
+ --theme-dark-surface-disabled: oklch(0.285 0.008 265); /** color.brand.A.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
327
+ --theme-dark-surface-backdrop: oklch(0.145 0.008 265); /** color.brand.A.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
328
+ --theme-dark-surface-inverse: oklch(0.96 0.008 265); /** color.brand.A.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
329
+ --theme-dark-surface-interactive-primary-default: oklch(0.4 0.06 43); /** color.brand.A.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
330
+ --theme-dark-surface-interactive-primary-hover: oklch(0.5 0.075 43); /** color.brand.A.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
331
+ --theme-dark-surface-interactive-primary-pressed: oklch(0.54 0.085 43); /** color.brand.A.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
332
+ --theme-dark-border-subtle: oklch(0.4 0.008 265); /** color.brand.A.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
333
+ --theme-dark-border-strong: oklch(0.56 0.008 265); /** color.brand.A.border.strong; generated from palette/seeds.json by generate-palette.ts. */
334
+ --theme-dark-text-primary: oklch(0.94 0.008 265); /** color.brand.A.text.primary; generated from palette/seeds.json by generate-palette.ts. */
335
+ --theme-dark-text-secondary: oklch(0.83 0.008 265); /** color.brand.A.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
336
+ --theme-dark-text-muted: oklch(0.73 0.008 265); /** color.brand.A.text.muted; generated from palette/seeds.json by generate-palette.ts. */
337
+ --theme-dark-text-inverse: oklch(0.23 0.008 265); /** color.brand.A.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
338
+ --theme-dark-text-disabled: oklch(0.55 0.008 265); /** color.brand.A.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
339
+ --theme-dark-text-accent: oklch(0.82 0.047991 305); /** color.brand.A.text.accent; generated from palette/seeds.json by generate-palette.ts. */
340
+ --theme-dark-text-on-interactive: oklch(0.985 0.006988 265); /** color.brand.A.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
341
+ --theme-dark-icon-primary: oklch(0.85 0.008 265); /** primary; generated from palette/seeds.json by generate-palette.ts. */
342
+ --theme-dark-icon-muted: oklch(0.64 0.008 265); /** muted; generated from palette/seeds.json by generate-palette.ts. */
343
+ --theme-dark-icon-on-interactive: oklch(0.985 0.006988 265); /** on-interactive; generated from palette/seeds.json by generate-palette.ts. */
344
+ --theme-focus-width: 2px; /** Standard focus outline width. */
345
+ --theme-motion-transition-hover-delay: 0ms;
346
+ --theme-motion-transition-focus-delay: 0ms;
347
+ --theme-motion-transition-chip-in-delay: 0ms;
348
+ --theme-motion-transition-chip-out-delay: 0ms;
349
+ --theme-motion-transition-banner-reveal-delay: 20ms;
350
+ --theme-motion-reduced-transition-hover-delay: 0ms;
351
+ --theme-motion-reduced-transition-focus-delay: 0ms;
352
+ --theme-motion-reduced-transition-chip-in-delay: 0ms;
353
+ --theme-motion-reduced-transition-chip-out-delay: 0ms;
354
+ --theme-motion-reduced-transition-banner-reveal-delay: 0ms;
355
+ --theme-shadow-elevation-card-offset-x: 0px;
356
+ --theme-shadow-elevation-card-offset-y: 16px;
357
+ --theme-shadow-elevation-card-blur: 40px;
358
+ --theme-shadow-elevation-card-spread: -12px;
359
+ --theme-shadow-elevation-card-color: rgba(15, 23, 42, 0.12);
360
+ --theme-shadow-elevation-overlay-offset-x: 0px;
361
+ --theme-shadow-elevation-overlay-offset-y: 24px;
362
+ --theme-shadow-elevation-overlay-blur: 56px;
363
+ --theme-shadow-elevation-overlay-spread: -16px;
364
+ --theme-shadow-elevation-overlay-color: rgba(15, 23, 42, 0.24);
365
+ --theme-surface-interactive-primary-default: oklch(0.53 0.06 43); /** theme.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
366
+ --theme-surface-interactive-primary-hover: oklch(0.43 0.075 43); /** theme.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
367
+ --theme-surface-interactive-primary-pressed: oklch(0.39 0.085 43); /** theme.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
368
+ --cmp-card-shadow-offset-x: 0px; /** Default card shadow role, expanded into its parts; component rules may override it. */
369
+ --cmp-card-shadow-offset-y: 16px; /** Default card shadow role, expanded into its parts; component rules may override it. */
370
+ --cmp-card-shadow-blur: 40px; /** Default card shadow role, expanded into its parts; component rules may override it. */
371
+ --cmp-card-shadow-spread: -12px; /** Default card shadow role, expanded into its parts; component rules may override it. */
372
+ --cmp-card-shadow-color: rgba(15, 23, 42, 0.12); /** Default card shadow role, expanded into its parts; component rules may override it. */
373
+ --cmp-shadow-overlay-offset-x: 0px; /** Default overlay shadow role, expanded into its parts; component rules may override it. */
374
+ --cmp-shadow-overlay-offset-y: 24px; /** Default overlay shadow role, expanded into its parts; component rules may override it. */
375
+ --cmp-shadow-overlay-blur: 56px; /** Default overlay shadow role, expanded into its parts; component rules may override it. */
376
+ --cmp-shadow-overlay-spread: -16px; /** Default overlay shadow role, expanded into its parts; component rules may override it. */
377
+ --cmp-shadow-overlay-color: rgba(15, 23, 42, 0.24); /** Default overlay shadow role, expanded into its parts; component rules may override it. */
378
+ --cmp-shadow-panel-offset-x: 0px; /** Default shadow panel role, expanded into its parts; component rules may override it. */
379
+ --cmp-shadow-panel-offset-y: 16px; /** Default shadow panel role, expanded into its parts; component rules may override it. */
380
+ --cmp-shadow-panel-blur: 40px; /** Default shadow panel role, expanded into its parts; component rules may override it. */
381
+ --cmp-shadow-panel-spread: -12px; /** Default shadow panel role, expanded into its parts; component rules may override it. */
382
+ --cmp-shadow-panel-color: rgba(15, 23, 42, 0.12); /** Default shadow panel role, expanded into its parts; component rules may override it. */
383
+ --oods-color-brand-a-surface-canvas: oklch(0.985 0.002339 265); /** color.brand.A.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
384
+ --oods-color-brand-a-surface-raised: oklch(1 0 265); /** color.brand.A.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
385
+ --oods-color-brand-a-surface-subtle: oklch(0.95 0.003614 265); /** color.brand.A.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
386
+ --oods-color-brand-a-surface-disabled: oklch(0.93 0.004487 265); /** color.brand.A.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
387
+ --oods-color-brand-a-surface-backdrop: oklch(0.2 0.011021 265); /** color.brand.A.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
388
+ --oods-color-brand-a-surface-inverse: oklch(0.23 0.012515 265); /** color.brand.A.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
389
+ --oods-color-brand-a-surface-interactive-primary-default: oklch(0.53 0.06 43); /** color.brand.A.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
390
+ --oods-color-brand-a-surface-interactive-primary-hover: oklch(0.43 0.075 43); /** color.brand.A.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
391
+ --oods-color-brand-a-surface-interactive-primary-pressed: oklch(0.39 0.085 43); /** color.brand.A.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
392
+ --oods-color-brand-a-border-subtle: oklch(0.86 0.007932 265); /** color.brand.A.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
393
+ --oods-color-brand-a-border-strong: oklch(0.6 0.018863 265); /** color.brand.A.border.strong; generated from palette/seeds.json by generate-palette.ts. */
394
+ --oods-color-brand-a-focus-ring-outer: oklch(0.46 0.136249 43); /** color.brand.A.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
395
+ --oods-color-brand-a-focus-ring-inner: oklch(0.985 0.002339 265); /** color.brand.A.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
396
+ --oods-color-brand-a-focus-text: oklch(0.46 0.148464 305); /** color.brand.A.focus.text; generated from palette/seeds.json by generate-palette.ts. */
397
+ --oods-color-brand-a-text-primary: oklch(0.23 0.012515 265); /** color.brand.A.text.primary; generated from palette/seeds.json by generate-palette.ts. */
398
+ --oods-color-brand-a-text-secondary: oklch(0.38 0.018374 265); /** color.brand.A.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
399
+ --oods-color-brand-a-text-muted: oklch(0.47 0.019896 265); /** color.brand.A.text.muted; generated from palette/seeds.json by generate-palette.ts. */
400
+ --oods-color-brand-a-text-inverse: oklch(0.96 0.00321 265); /** color.brand.A.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
401
+ --oods-color-brand-a-text-on-interactive: oklch(0.985 0.002339 265); /** color.brand.A.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
402
+ --oods-color-brand-a-text-disabled: oklch(0.7 0.015665 265); /** color.brand.A.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
403
+ --oods-color-brand-a-text-accent: oklch(0.46 0.148464 305); /** color.brand.A.text.accent; generated from palette/seeds.json by generate-palette.ts. */
404
+ --oods-color-brand-a-accent-background: oklch(0.95 0.00538 305); /** color.brand.A.accent.background; generated from palette/seeds.json by generate-palette.ts. */
405
+ --oods-color-brand-a-accent-border: oklch(0.76 0.073317 305); /** color.brand.A.accent.border; generated from palette/seeds.json by generate-palette.ts. */
406
+ --oods-color-brand-a-accent-text: oklch(0.46 0.148464 305); /** color.brand.A.accent.text; generated from palette/seeds.json by generate-palette.ts. */
407
+ --oods-color-brand-a-status-info-surface: oklch(0.97 0.006947 245); /** color.brand.A.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
408
+ --oods-color-brand-a-status-info-border: oklch(0.8 0.075175 245); /** color.brand.A.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
409
+ --oods-color-brand-a-status-info-text: oklch(0.42 0.105718 245); /** color.brand.A.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
410
+ --oods-color-brand-a-status-info-icon: oklch(0.56 0.140957 245); /** color.brand.A.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
411
+ --oods-color-brand-a-status-success-surface: oklch(0.97 0.006484 155); /** color.brand.A.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
412
+ --oods-color-brand-a-status-success-border: oklch(0.8 0.070164 155); /** color.brand.A.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
413
+ --oods-color-brand-a-status-success-text: oklch(0.42 0.103833 155); /** color.brand.A.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
414
+ --oods-color-brand-a-status-success-icon: oklch(0.56 0.136785 155); /** color.brand.A.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
415
+ --oods-color-brand-a-status-warning-surface: oklch(0.97 0.006947 85); /** color.brand.A.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
416
+ --oods-color-brand-a-status-warning-border: oklch(0.8 0.075175 85); /** color.brand.A.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
417
+ --oods-color-brand-a-status-warning-text: oklch(0.42 0.086078 85); /** color.brand.A.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
418
+ --oods-color-brand-a-status-warning-icon: oklch(0.56 0.11477 85); /** color.brand.A.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
419
+ --oods-color-brand-a-status-critical-surface: oklch(0.97 0.008337 25); /** color.brand.A.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
420
+ --oods-color-brand-a-status-critical-border: oklch(0.8 0.09021 25); /** color.brand.A.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
421
+ --oods-color-brand-a-status-critical-text: oklch(0.42 0.170269 25); /** color.brand.A.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
422
+ --oods-color-brand-a-status-critical-icon: oklch(0.56 0.175866 25); /** color.brand.A.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
423
+ --oods-color-brand-a-status-neutral-surface: oklch(0.97 0.000926 265); /** color.brand.A.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
424
+ --oods-color-brand-a-status-neutral-border: oklch(0.8 0.010023 265); /** color.brand.A.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
425
+ --oods-color-brand-a-status-neutral-text: oklch(0.42 0.019187 265); /** color.brand.A.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
426
+ --oods-color-brand-a-status-neutral-icon: oklch(0.56 0.019541 265); /** color.brand.A.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
427
+ --oods-color-brand-a-status-accent-surface: oklch(0.95 0.01345 305); /** color.brand.A.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
428
+ --oods-color-brand-a-status-accent-border: oklch(0.81 0.07093 305); /** color.brand.A.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
429
+ --oods-color-brand-a-status-accent-text: oklch(0.42 0.143903 305); /** color.brand.A.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
430
+ --oods-color-brand-a-status-accent-icon: oklch(0.5 0.15 305); /** color.brand.A.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
431
+ --oods-color-brand-b-surface-canvas: oklch(0.985 0.002339 265); /** color.brand.B.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
432
+ --oods-color-brand-b-surface-raised: oklch(1 0 265); /** color.brand.B.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
433
+ --oods-color-brand-b-surface-subtle: oklch(0.95 0.003614 265); /** color.brand.B.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
434
+ --oods-color-brand-b-surface-disabled: oklch(0.93 0.004487 265); /** color.brand.B.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
435
+ --oods-color-brand-b-surface-backdrop: oklch(0.2 0.011021 265); /** color.brand.B.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
436
+ --oods-color-brand-b-surface-inverse: oklch(0.23 0.012515 265); /** color.brand.B.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
437
+ --oods-color-brand-b-surface-interactive-primary-default: oklch(0.53 0.06 210); /** color.brand.B.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
438
+ --oods-color-brand-b-surface-interactive-primary-hover: oklch(0.43 0.074368 210); /** color.brand.B.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
439
+ --oods-color-brand-b-surface-interactive-primary-pressed: oklch(0.39 0.06745 210); /** color.brand.B.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
440
+ --oods-color-brand-b-border-subtle: oklch(0.86 0.007932 265); /** color.brand.B.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
441
+ --oods-color-brand-b-border-strong: oklch(0.6 0.018863 265); /** color.brand.B.border.strong; generated from palette/seeds.json by generate-palette.ts. */
442
+ --oods-color-brand-b-focus-ring-outer: oklch(0.46 0.079556 210); /** color.brand.B.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
443
+ --oods-color-brand-b-focus-ring-inner: oklch(0.985 0.002339 265); /** color.brand.B.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
444
+ --oods-color-brand-b-focus-text: oklch(0.46 0.148464 305); /** color.brand.B.focus.text; generated from palette/seeds.json by generate-palette.ts. */
445
+ --oods-color-brand-b-text-primary: oklch(0.23 0.012515 265); /** color.brand.B.text.primary; generated from palette/seeds.json by generate-palette.ts. */
446
+ --oods-color-brand-b-text-secondary: oklch(0.38 0.018374 265); /** color.brand.B.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
447
+ --oods-color-brand-b-text-muted: oklch(0.47 0.019896 265); /** color.brand.B.text.muted; generated from palette/seeds.json by generate-palette.ts. */
448
+ --oods-color-brand-b-text-inverse: oklch(0.96 0.00321 265); /** color.brand.B.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
449
+ --oods-color-brand-b-text-on-interactive: oklch(1 0 0); /** color.brand.B.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
450
+ --oods-color-brand-b-text-disabled: oklch(0.7 0.015665 265); /** color.brand.B.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
451
+ --oods-color-brand-b-text-accent: oklch(0.46 0.148464 305); /** color.brand.B.text.accent; generated from palette/seeds.json by generate-palette.ts. */
452
+ --oods-color-brand-b-accent-background: oklch(0.95 0.00538 305); /** color.brand.B.accent.background; generated from palette/seeds.json by generate-palette.ts. */
453
+ --oods-color-brand-b-accent-border: oklch(0.76 0.073317 305); /** color.brand.B.accent.border; generated from palette/seeds.json by generate-palette.ts. */
454
+ --oods-color-brand-b-accent-text: oklch(0.46 0.148464 305); /** color.brand.B.accent.text; generated from palette/seeds.json by generate-palette.ts. */
455
+ --oods-color-brand-b-status-info-surface: oklch(0.97 0.006947 245); /** color.brand.B.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
456
+ --oods-color-brand-b-status-info-border: oklch(0.8 0.075175 245); /** color.brand.B.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
457
+ --oods-color-brand-b-status-info-text: oklch(0.42 0.105718 245); /** color.brand.B.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
458
+ --oods-color-brand-b-status-info-icon: oklch(0.56 0.140957 245); /** color.brand.B.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
459
+ --oods-color-brand-b-status-success-surface: oklch(0.97 0.006484 155); /** color.brand.B.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
460
+ --oods-color-brand-b-status-success-border: oklch(0.8 0.070164 155); /** color.brand.B.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
461
+ --oods-color-brand-b-status-success-text: oklch(0.42 0.103833 155); /** color.brand.B.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
462
+ --oods-color-brand-b-status-success-icon: oklch(0.56 0.136785 155); /** color.brand.B.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
463
+ --oods-color-brand-b-status-warning-surface: oklch(0.97 0.006947 85); /** color.brand.B.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
464
+ --oods-color-brand-b-status-warning-border: oklch(0.8 0.075175 85); /** color.brand.B.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
465
+ --oods-color-brand-b-status-warning-text: oklch(0.42 0.086078 85); /** color.brand.B.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
466
+ --oods-color-brand-b-status-warning-icon: oklch(0.56 0.11477 85); /** color.brand.B.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
467
+ --oods-color-brand-b-status-critical-surface: oklch(0.97 0.008337 25); /** color.brand.B.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
468
+ --oods-color-brand-b-status-critical-border: oklch(0.8 0.09021 25); /** color.brand.B.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
469
+ --oods-color-brand-b-status-critical-text: oklch(0.42 0.170269 25); /** color.brand.B.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
470
+ --oods-color-brand-b-status-critical-icon: oklch(0.56 0.175866 25); /** color.brand.B.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
471
+ --oods-color-brand-b-status-neutral-surface: oklch(0.97 0.000926 265); /** color.brand.B.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
472
+ --oods-color-brand-b-status-neutral-border: oklch(0.8 0.010023 265); /** color.brand.B.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
473
+ --oods-color-brand-b-status-neutral-text: oklch(0.42 0.019187 265); /** color.brand.B.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
474
+ --oods-color-brand-b-status-neutral-icon: oklch(0.56 0.019541 265); /** color.brand.B.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
475
+ --oods-color-brand-b-status-accent-surface: oklch(0.95 0.01345 305); /** color.brand.B.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
476
+ --oods-color-brand-b-status-accent-border: oklch(0.81 0.07093 305); /** color.brand.B.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
477
+ --oods-color-brand-b-status-accent-text: oklch(0.42 0.143903 305); /** color.brand.B.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
478
+ --oods-color-brand-b-status-accent-icon: oklch(0.5 0.15 305); /** color.brand.B.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
479
+ --oods-viz-scale-sequential-blue-1: var(--oods-viz-scale-sequential-01); /** Sequential blue step 1 - lightest for low values. */
480
+ --oods-viz-scale-sequential-blue-2: var(--oods-viz-scale-sequential-02); /** Sequential blue step 2. */
481
+ --oods-viz-scale-sequential-blue-3: var(--oods-viz-scale-sequential-03); /** Sequential blue step 3. */
482
+ --oods-viz-scale-sequential-blue-4: var(--oods-viz-scale-sequential-04); /** Sequential blue step 4 - midpoint. */
483
+ --oods-viz-scale-sequential-blue-5: var(--oods-viz-scale-sequential-05); /** Sequential blue step 5. */
484
+ --oods-viz-scale-sequential-blue-6: var(--oods-viz-scale-sequential-06); /** Sequential blue step 6. */
485
+ --oods-viz-scale-sequential-blue-7: var(--oods-viz-scale-sequential-07); /** Sequential blue step 7 - darkest for high values. */
486
+ --oods-viz-scale-diverging-negative-1: var(--oods-viz-scale-diverging-neg-01); /** Diverging near-neutral negative. */
487
+ --oods-viz-scale-diverging-negative-2: var(--oods-viz-scale-diverging-neg-03); /** Diverging negative level 2. */
488
+ --oods-viz-scale-diverging-negative-3: var(--oods-viz-scale-diverging-neg-05); /** Diverging far negative anchor. */
489
+ --oods-viz-scale-diverging-positive-1: var(--oods-viz-scale-diverging-pos-01); /** Diverging near-neutral positive. */
490
+ --oods-viz-scale-diverging-positive-2: var(--oods-viz-scale-diverging-pos-03); /** Diverging positive level 2. */
491
+ --oods-viz-scale-diverging-positive-3: var(--oods-viz-scale-diverging-pos-05); /** Diverging far positive anchor. */
492
+ --oods-viz-map-basemap-fill: var(--ref-color-neutral-100); /** Base map fill color for land/water boundaries. */
493
+ --oods-viz-map-basemap-stroke: var(--ref-color-neutral-300); /** Base map stroke color for coastlines and borders. */
494
+ --oods-viz-map-region-stroke: var(--ref-color-neutral-400); /** Region boundary stroke color for choropleth regions. */
495
+ --oods-viz-map-region-hover-stroke: var(--ref-color-primary-500); /** Region stroke color on hover state. */
496
+ --oods-viz-map-symbol-stroke: var(--ref-color-neutral-0); /** Symbol outline stroke for contrast on filled shapes. */
497
+ --oods-motion-transition-hover-duration: var(--oods-motion-duration-fast); /** Hover affordances across buttons, chips, and cards. */
498
+ --oods-motion-transition-hover-timing-function: var(--oods-motion-easing-standard); /** Hover affordances across buttons, chips, and cards. */
499
+ --oods-motion-transition-focus-duration: var(--oods-motion-duration-base); /** Focus outlines and glow elevation. */
500
+ --oods-motion-transition-focus-timing-function: var(--oods-motion-easing-standard); /** Focus outlines and glow elevation. */
501
+ --oods-motion-transition-chip-in-duration: var(--oods-motion-duration-base); /** Chip selection and entry into filter groups. */
502
+ --oods-motion-transition-chip-in-timing-function: var(--oods-motion-easing-emphasized); /** Chip selection and entry into filter groups. */
503
+ --oods-motion-transition-chip-out-duration: var(--oods-motion-duration-fast); /** Chip deselection or removal. */
504
+ --oods-motion-transition-chip-out-timing-function: var(--oods-motion-easing-standard); /** Chip deselection or removal. */
505
+ --oods-motion-transition-banner-reveal-duration: var(--oods-motion-duration-slow); /** Banner entrance along the vertical axis. */
506
+ --oods-motion-transition-banner-reveal-timing-function: var(--oods-motion-easing-emphasized); /** Banner entrance along the vertical axis. */
507
+ --oods-motion-reduced-transition-hover-duration: var(--oods-motion-reduced-duration-fast); /** Hover states snap immediately when motion is reduced. */
508
+ --oods-motion-reduced-transition-hover-timing-function: var(--oods-motion-easing-linear); /** Hover states snap immediately when motion is reduced. */
509
+ --oods-motion-reduced-transition-focus-duration: var(--oods-motion-reduced-duration-base); /** Focus rings become instant in reduced-motion. */
510
+ --oods-motion-reduced-transition-focus-timing-function: var(--oods-motion-easing-linear); /** Focus rings become instant in reduced-motion. */
511
+ --oods-motion-reduced-transition-chip-in-duration: var(--oods-motion-reduced-duration-base); /** Chip selection occurs without momentum. */
512
+ --oods-motion-reduced-transition-chip-in-timing-function: var(--oods-motion-easing-linear); /** Chip selection occurs without momentum. */
513
+ --oods-motion-reduced-transition-chip-out-duration: var(--oods-motion-reduced-duration-fast); /** Chip removal happens immediately. */
514
+ --oods-motion-reduced-transition-chip-out-timing-function: var(--oods-motion-easing-linear); /** Chip removal happens immediately. */
515
+ --oods-motion-reduced-transition-banner-reveal-duration: var(--oods-motion-reduced-duration-slow); /** Banner reveal falls back to an instant appearance. */
516
+ --oods-motion-reduced-transition-banner-reveal-timing-function: var(--oods-motion-easing-linear); /** Banner reveal falls back to an instant appearance. */
517
+ --oods-border-panel-default-width: var(--ref-border-width-hairline); /** Default border for cards and primary panels. */
518
+ --oods-border-panel-default-style: var(--ref-border-style-solid); /** Default border for cards and primary panels. */
519
+ --oods-border-panel-default-radius: var(--ref-border-radius-md); /** Default border for cards and primary panels. */
520
+ --oods-border-surface-default-width: var(--ref-border-width-hairline); /** Alias to panel default border. */
521
+ --oods-border-surface-default-style: var(--ref-border-style-solid); /** Alias to panel default border. */
522
+ --oods-border-surface-default-radius: var(--ref-border-radius-md); /** Alias to panel default border. */
523
+ --oods-border-status-critical-width: var(--ref-border-width-hairline); /** Critical status banner border with rounded corners. */
524
+ --oods-border-status-critical-style: var(--ref-border-style-solid); /** Critical status banner border with rounded corners. */
525
+ --oods-border-status-critical-radius: var(--ref-border-radius-sm); /** Critical status banner border with rounded corners. */
526
+ --oods-overlay-transition-open-duration: var(--oods-motion-duration-base); /** Overlay open transition; collapses under reduced motion. */
527
+ --oods-overlay-transition-open-timing-function: var(--oods-motion-easing-standard); /** Overlay open transition; collapses under reduced motion. */
528
+ --oods-overlay-transition-close-duration: var(--oods-motion-duration-base); /** Overlay close transition; collapses under reduced motion. */
529
+ --oods-overlay-transition-close-timing-function: var(--oods-motion-easing-standard); /** Overlay close transition; collapses under reduced motion. */
530
+ --sys-control-gap: var(--ref-space-ramp-200); /** Semantic component geometry: control gap; ramp 200. */
531
+ --sys-control-gap-compact: var(--ref-space-ramp-100); /** Semantic component geometry: control gap compact; ramp 100. */
532
+ --sys-control-gap-tight: var(--ref-space-ramp-150); /** Semantic component geometry: control gap tight; ramp 150. */
533
+ --sys-control-padding-block: var(--ref-space-ramp-250); /** Semantic component geometry: control padding block; ramp 250. */
534
+ --sys-control-padding-inline: var(--ref-space-ramp-400); /** Semantic component geometry: control padding inline; ramp 400. */
535
+ --sys-field-padding-inline: var(--ref-space-ramp-300); /** Semantic component geometry: field padding inline; ramp 300. */
536
+ --sys-badge-padding-block: var(--ref-space-ramp-050); /** Semantic component geometry: badge padding block; ramp 050. */
537
+ --sys-badge-padding-inline: var(--ref-space-ramp-200); /** Semantic component geometry: badge padding inline; ramp 200. */
538
+ --sys-inset-sm: var(--ref-space-ramp-300); /** Semantic component geometry: inset sm; ramp 300. */
539
+ --sys-inset-md: var(--ref-space-ramp-400); /** Semantic component geometry: inset md; ramp 400. */
540
+ --sys-stack-xs: var(--ref-space-ramp-200); /** Semantic component geometry: stack xs; ramp 200. */
541
+ --sys-stack-sm: var(--ref-space-ramp-300); /** Semantic component geometry: stack sm; ramp 300. */
542
+ --sys-stack-md: var(--ref-space-ramp-400); /** Semantic component geometry: stack md; ramp 400. */
543
+ --sys-inline-xs: var(--ref-space-ramp-200); /** Semantic component geometry: inline xs; ramp 200. */
544
+ --sys-inline-sm: var(--ref-space-ramp-300); /** Semantic component geometry: inline sm; ramp 300. */
545
+ --sys-inline-md: var(--ref-space-ramp-400); /** Semantic component geometry: inline md; ramp 400. */
546
+ --sys-progress-height: var(--ref-space-ramp-200); /** Semantic component geometry: progress height; ramp 200. */
547
+ --sys-radius-control: var(--ref-border-radius-sm); /** Control radius for buttons, inputs and compact panels; the small reference radius. */
548
+ --sys-radius-pill: var(--ref-border-radius-pill); /** Pill curvature for labels and badges. */
549
+ --sys-text-weight-semibold: var(--ref-typography-weights-semibold); /** Semibold control and badge emphasis. */
550
+ --sys-control-height-sm: var(--ref-space-ramp-800); /** Small control minimum height; ramp 800. */
551
+ --sys-control-height-md: var(--ref-space-ramp-1000); /** Default control minimum height; ramp 1000. */
552
+ --sys-control-height-lg: var(--ref-space-ramp-1200); /** Large control minimum height; ramp 1200. */
553
+ --sys-control-padding-block-sm: var(--ref-space-ramp-150); /** Small control padding block; ramp 150. */
554
+ --sys-control-padding-block-lg: var(--ref-space-ramp-300); /** Large control padding block; ramp 300. */
555
+ --sys-control-padding-inline-sm: var(--ref-space-ramp-300); /** Small control padding inline; ramp 300. */
556
+ --sys-control-padding-inline-lg: var(--ref-space-ramp-600); /** Large control padding inline; ramp 600. */
557
+ --sys-field-padding-block-compact: var(--ref-space-ramp-150); /** Compact field padding block for dense editors; ramp 150. */
558
+ --sys-field-padding-inline-compact: var(--ref-space-ramp-200); /** Compact field padding inline for dense editors; ramp 200. */
559
+ --sys-badge-height: var(--ref-space-ramp-600); /** Badge minimum height; ramp 600. */
560
+ --sys-stack-lg: var(--ref-space-ramp-600); /** Semantic component geometry: stack lg; ramp 600. */
561
+ --sys-stack-xl: var(--ref-space-ramp-800); /** Semantic component geometry: stack xl; ramp 800. */
562
+ --sys-page-gutter: var(--ref-space-ramp-600); /** Semantic page geometry: the one left edge of a generated page, which every heading, control and card on it shares; ramp 600. */
563
+ --sys-tab-padding-block-sm: var(--ref-space-ramp-200); /** Small tab padding block; ramp 200. */
564
+ --sys-tab-padding-block-md: var(--ref-space-ramp-250); /** Default tab padding block; ramp 250. */
565
+ --sys-tab-padding-block-lg: var(--ref-space-ramp-300); /** Large tab padding block; ramp 300. */
566
+ --sys-tab-padding-inline-sm: var(--ref-space-ramp-250); /** Small tab padding inline; ramp 250. */
567
+ --sys-tab-padding-inline-md: var(--ref-space-ramp-300); /** Default tab padding inline; ramp 300. */
568
+ --sys-tab-padding-inline-lg: var(--ref-space-ramp-400); /** Large tab padding inline; ramp 400. */
569
+ --sys-tab-indicator-width: var(--ref-border-width-emphasis); /** Selected tab underline; the emphasis border width. */
570
+ --sys-radius-card: var(--ref-border-radius-md); /** Card radius; the medium reference radius. */
571
+ --sys-focus-width: var(--theme-focus-width); /** Focus ring width. */
572
+ --sys-focus-offset: var(--ref-border-width-bold); /** Focus ring offset; the bold border width, so the ring clears a hairline border on every control. */
573
+ --sys-motion-duration-fast: var(--oods-motion-duration-fast); /** System fast duration for micro-interactions. */
574
+ --sys-motion-duration-base: var(--oods-motion-duration-base); /** System baseline duration for component transitions. */
575
+ --sys-motion-duration-slow: var(--oods-motion-duration-slow); /** System slow duration for entrance/exit motion. */
576
+ --sys-motion-reduced-duration-fast: var(--oods-motion-reduced-duration-fast); /** Reduced-motion fast duration resolves to instant. */
577
+ --sys-motion-reduced-duration-base: var(--oods-motion-reduced-duration-base); /** Reduced-motion default duration resolves to instant. */
578
+ --sys-motion-reduced-duration-slow: var(--oods-motion-reduced-duration-slow); /** Reduced-motion slow duration resolves to instant. */
579
+ --sys-motion-reduced-transition-hover-duration: var(--oods-motion-reduced-duration-fast); /** Reduced-motion hover transition. */
580
+ --sys-motion-reduced-transition-hover-timing-function: var(--oods-motion-easing-linear); /** Reduced-motion hover transition. */
581
+ --sys-motion-reduced-transition-focus-duration: var(--oods-motion-reduced-duration-base); /** Reduced-motion focus transition. */
582
+ --sys-motion-reduced-transition-focus-timing-function: var(--oods-motion-easing-linear); /** Reduced-motion focus transition. */
583
+ --sys-motion-reduced-transition-chip-in-duration: var(--oods-motion-reduced-duration-base); /** Reduced-motion chip entry transition. */
584
+ --sys-motion-reduced-transition-chip-in-timing-function: var(--oods-motion-easing-linear); /** Reduced-motion chip entry transition. */
585
+ --sys-motion-reduced-transition-chip-out-duration: var(--oods-motion-reduced-duration-fast); /** Reduced-motion chip exit transition. */
586
+ --sys-motion-reduced-transition-chip-out-timing-function: var(--oods-motion-easing-linear); /** Reduced-motion chip exit transition. */
587
+ --sys-motion-reduced-transition-banner-reveal-duration: var(--oods-motion-reduced-duration-slow); /** Reduced-motion banner reveal transition. */
588
+ --sys-motion-reduced-transition-banner-reveal-timing-function: var(--oods-motion-easing-linear); /** Reduced-motion banner reveal transition. */
589
+ --sys-motion-easing-standard: var(--oods-motion-easing-standard); /** System standard easing curve. */
590
+ --sys-motion-easing-emphasized: var(--oods-motion-easing-emphasized); /** System emphasized easing curve. */
591
+ --sys-motion-easing-linear: var(--oods-motion-easing-linear); /** System linear easing curve for reduced motion. */
592
+ --sys-motion-transition-hover-duration: var(--oods-motion-duration-fast); /** System hover transition for interactive affordances. */
593
+ --sys-motion-transition-hover-timing-function: var(--oods-motion-easing-standard); /** System hover transition for interactive affordances. */
594
+ --sys-motion-transition-focus-duration: var(--oods-motion-duration-base); /** System focus transition for outlines/glow. */
595
+ --sys-motion-transition-focus-timing-function: var(--oods-motion-easing-standard); /** System focus transition for outlines/glow. */
596
+ --sys-motion-transition-chip-in-duration: var(--oods-motion-duration-base); /** System chip entry transition. */
597
+ --sys-motion-transition-chip-in-timing-function: var(--oods-motion-easing-emphasized); /** System chip entry transition. */
598
+ --sys-motion-transition-chip-out-duration: var(--oods-motion-duration-fast); /** System chip exit transition. */
599
+ --sys-motion-transition-chip-out-timing-function: var(--oods-motion-easing-standard); /** System chip exit transition. */
600
+ --sys-motion-transition-banner-reveal-duration: var(--oods-motion-duration-slow); /** System banner reveal transition. */
601
+ --sys-motion-transition-banner-reveal-timing-function: var(--oods-motion-easing-emphasized); /** System banner reveal transition. */
602
+ --sys-surface-interactive-primary-default: var(--theme-surface-interactive-primary-default); /** Primary interactive surface default state. */
603
+ --sys-surface-interactive-primary-hover: var(--theme-surface-interactive-primary-hover); /** Primary interactive surface hover state. */
604
+ --sys-surface-interactive-primary-pressed: var(--theme-surface-interactive-primary-pressed); /** Primary interactive surface pressed state. */
605
+ --sys-text-scale-caption-font-family: var(--ref-typography-families-sans); /** System caption scale. */
606
+ --sys-text-scale-caption-font-weight: var(--ref-typography-weights-medium); /** System caption scale. */
607
+ --sys-text-scale-caption-font-size: var(--ref-typography-sizes-xs); /** System caption scale. */
608
+ --sys-text-scale-label-md-font-family: var(--ref-typography-families-sans); /** System label medium scale. */
609
+ --sys-text-scale-label-md-font-weight: var(--ref-typography-weights-semibold); /** System label medium scale. */
610
+ --sys-text-scale-label-md-font-size: var(--ref-typography-sizes-sm); /** System label medium scale. */
611
+ --sys-text-scale-body-sm-font-family: var(--ref-typography-families-sans); /** System compact body scale. */
612
+ --sys-text-scale-body-sm-font-weight: var(--ref-typography-weights-regular); /** System compact body scale. */
613
+ --sys-text-scale-body-sm-font-size: var(--ref-typography-sizes-sm); /** System compact body scale. */
614
+ --sys-text-scale-body-md-font-family: var(--ref-typography-families-sans); /** System default body scale. */
615
+ --sys-text-scale-body-md-font-weight: var(--ref-typography-weights-regular); /** System default body scale. */
616
+ --sys-text-scale-body-md-font-size: var(--ref-typography-sizes-md); /** System default body scale. */
617
+ --sys-text-scale-heading-lg-font-family: var(--ref-typography-families-sans); /** System large heading scale. */
618
+ --sys-text-scale-heading-lg-font-weight: var(--ref-typography-weights-semibold); /** System large heading scale. */
619
+ --sys-text-scale-heading-lg-font-size: var(--ref-typography-sizes-xl); /** System large heading scale. */
620
+ --sys-text-scale-heading-xl-font-family: var(--ref-typography-families-sans); /** System extra-large heading scale. */
621
+ --sys-text-scale-heading-xl-font-weight: var(--ref-typography-weights-bold); /** System extra-large heading scale. */
622
+ --sys-text-scale-heading-xl-font-size: var(--ref-typography-sizes-xxl); /** System extra-large heading scale. */
623
+ --sys-text-size-sm: var(--ref-typography-sizes-sm); /** Small font scalar; seeds the size.font contract. Intentionally aliases ref directly (no theme/text mid-tier) — accepted asymmetry vs the spacing chain because font is seeded-not-consumed (Button-only). Do not 'fix' into a break. */
624
+ --sys-text-size-md: var(--ref-typography-sizes-md); /** Medium font scalar; seeds the size.font contract. Intentionally aliases ref directly (no theme/text mid-tier) — accepted asymmetry vs the spacing chain because font is seeded-not-consumed (Button-only). Do not 'fix' into a break. */
625
+ --sys-text-size-lg: var(--ref-typography-sizes-lg); /** Large font scalar; seeds the size.font contract. Intentionally aliases ref directly (no theme/text mid-tier) — accepted asymmetry vs the spacing chain because font is seeded-not-consumed (Button-only). Do not 'fix' into a break. */
626
+ --oods-text-line-height-tight: var(--ref-typography-line-height-tight); /** Tight rhythm for condensed contexts. */
627
+ --oods-text-line-height-standard: var(--ref-typography-line-height-standard); /** Standard rhythm for general UI copy. */
628
+ --oods-text-line-height-relaxed: var(--ref-typography-line-height-relaxed); /** Relaxed rhythm for supporting text. */
629
+ --oods-text-line-height-loose: var(--ref-typography-line-height-loose); /** Loose rhythm for long-form reading. */
630
+ --oods-text-letter-spacing-tight: var(--ref-typography-letter-spacing-tight); /** Tight tracking for display headings. */
631
+ --oods-text-letter-spacing-default: var(--ref-typography-letter-spacing-default); /** Neutral tracking. */
632
+ --oods-text-letter-spacing-wide: var(--ref-typography-letter-spacing-wide); /** Wide tracking for uppercase or caption text. */
633
+ --oods-text-scale-caption-font-family: var(--ref-typography-families-sans); /** Caption text for metadata, badges, and helper copy. */
634
+ --oods-text-scale-caption-font-weight: var(--ref-typography-weights-medium); /** Caption text for metadata, badges, and helper copy. */
635
+ --oods-text-scale-caption-font-size: var(--ref-typography-sizes-xs); /** Caption text for metadata, badges, and helper copy. */
636
+ --oods-text-scale-label-md-font-family: var(--ref-typography-families-sans); /** Form labels and actionable micro copy. */
637
+ --oods-text-scale-label-md-font-weight: var(--ref-typography-weights-semibold); /** Form labels and actionable micro copy. */
638
+ --oods-text-scale-label-md-font-size: var(--ref-typography-sizes-sm); /** Form labels and actionable micro copy. */
639
+ --oods-text-scale-body-sm-font-family: var(--ref-typography-families-sans); /** Compact body text for dense list views. */
640
+ --oods-text-scale-body-sm-font-weight: var(--ref-typography-weights-regular); /** Compact body text for dense list views. */
641
+ --oods-text-scale-body-sm-font-size: var(--ref-typography-sizes-sm); /** Compact body text for dense list views. */
642
+ --oods-text-scale-body-md-font-family: var(--ref-typography-families-sans); /** Primary body copy for detail reading. */
643
+ --oods-text-scale-body-md-font-weight: var(--ref-typography-weights-regular); /** Primary body copy for detail reading. */
644
+ --oods-text-scale-body-md-font-size: var(--ref-typography-sizes-md); /** Primary body copy for detail reading. */
645
+ --oods-text-scale-heading-lg-font-family: var(--ref-typography-families-sans); /** Major section headings and card titles. */
646
+ --oods-text-scale-heading-lg-font-weight: var(--ref-typography-weights-semibold); /** Major section headings and card titles. */
647
+ --oods-text-scale-heading-lg-font-size: var(--ref-typography-sizes-xl); /** Major section headings and card titles. */
648
+ --oods-text-scale-heading-xl-font-family: var(--ref-typography-families-sans); /** Page-level hero headings. */
649
+ --oods-text-scale-heading-xl-font-weight: var(--ref-typography-weights-bold); /** Page-level hero headings. */
650
+ --oods-text-scale-heading-xl-font-size: var(--ref-typography-sizes-xxl); /** Page-level hero headings. */
651
+ --theme-dark-motion-transition-hover-duration: var(--theme-dark-motion-duration-fast); /** Hover affordances across buttons, chips, and cards. */
652
+ --theme-dark-motion-transition-hover-timing-function: var(--theme-dark-motion-easing-standard); /** Hover affordances across buttons, chips, and cards. */
653
+ --theme-dark-motion-transition-focus-duration: var(--theme-dark-motion-duration-base); /** Focus outlines and glow elevation. */
654
+ --theme-dark-motion-transition-focus-timing-function: var(--theme-dark-motion-easing-standard); /** Focus outlines and glow elevation. */
655
+ --theme-dark-motion-transition-chip-in-duration: var(--theme-dark-motion-duration-base); /** Chip selection and entry into filter groups. */
656
+ --theme-dark-motion-transition-chip-in-timing-function: var(--theme-dark-motion-easing-emphasized); /** Chip selection and entry into filter groups. */
657
+ --theme-dark-motion-transition-chip-out-duration: var(--theme-dark-motion-duration-fast); /** Chip deselection or removal. */
658
+ --theme-dark-motion-transition-chip-out-timing-function: var(--theme-dark-motion-easing-standard); /** Chip deselection or removal. */
659
+ --theme-dark-motion-transition-banner-reveal-duration: var(--theme-dark-motion-duration-slow); /** Banner entrance along the vertical axis. */
660
+ --theme-dark-motion-transition-banner-reveal-timing-function: var(--theme-dark-motion-easing-emphasized); /** Banner entrance along the vertical axis. */
661
+ --theme-dark-motion-reduced-transition-hover-duration: var(--theme-dark-motion-reduced-duration-fast); /** Hover states snap immediately when motion is reduced. */
662
+ --theme-dark-motion-reduced-transition-hover-timing-function: var(--theme-dark-motion-easing-linear); /** Hover states snap immediately when motion is reduced. */
663
+ --theme-dark-motion-reduced-transition-focus-duration: var(--theme-dark-motion-reduced-duration-base); /** Focus rings become instant in reduced-motion. */
664
+ --theme-dark-motion-reduced-transition-focus-timing-function: var(--theme-dark-motion-easing-linear); /** Focus rings become instant in reduced-motion. */
665
+ --theme-dark-motion-reduced-transition-chip-in-duration: var(--theme-dark-motion-reduced-duration-base); /** Chip selection occurs without momentum. */
666
+ --theme-dark-motion-reduced-transition-chip-in-timing-function: var(--theme-dark-motion-easing-linear); /** Chip selection occurs without momentum. */
667
+ --theme-dark-motion-reduced-transition-chip-out-duration: var(--theme-dark-motion-reduced-duration-fast); /** Chip removal happens immediately. */
668
+ --theme-dark-motion-reduced-transition-chip-out-timing-function: var(--theme-dark-motion-easing-linear); /** Chip removal happens immediately. */
669
+ --theme-dark-motion-reduced-transition-banner-reveal-duration: var(--theme-dark-motion-reduced-duration-slow); /** Banner reveal falls back to an instant appearance. */
670
+ --theme-dark-motion-reduced-transition-banner-reveal-timing-function: var(--theme-dark-motion-easing-linear); /** Banner reveal falls back to an instant appearance. */
671
+ --theme-dark-space-inset-compact: var(--ref-space-inset-compact); /** Dark theme compact inset spacing matches light for parity. */
672
+ --theme-dark-space-inset-default: var(--ref-space-inset-default); /** Default inset padding shared across themes. */
673
+ --theme-dark-space-stack-compact: var(--ref-space-stack-compact); /** Compact vertical rhythm retained from base spacing. */
674
+ --theme-dark-space-stack-default: var(--ref-space-stack-default); /** Default vertical rhythm shared with Theme 0. */
675
+ --theme-dark-space-inline-xs: var(--ref-space-inline-xs); /** Extra-small inline spacing consistent across themes. */
676
+ --theme-dark-space-inline-sm: var(--ref-space-inline-sm); /** Small inline spacing retained for dark layouts. */
677
+ --theme-dark-space-scale-sm: var(--ref-space-scale-sm); /** Small geometry scalar at dark parity (mirrors Theme 0). */
678
+ --theme-dark-space-scale-md: var(--ref-space-scale-md); /** Medium geometry scalar at dark parity (mirrors Theme 0). */
679
+ --theme-dark-space-scale-lg: var(--ref-space-scale-lg); /** Large geometry scalar at dark parity (mirrors Theme 0). */
680
+ --theme-focus-ring-outer: var(--ref-color-neutral-900); /** Outer glow of focus ring. */
681
+ --theme-focus-ring-inner: var(--ref-color-neutral-100); /** Inner contrast colour for focus outlines. */
682
+ --theme-focus-text: var(--ref-color-primary-600); /** Focus text/indicator colour. */
683
+ --theme-motion-duration-fast: var(--oods-motion-duration-fast);
684
+ --theme-motion-duration-base: var(--oods-motion-duration-base);
685
+ --theme-motion-duration-slow: var(--oods-motion-duration-slow);
686
+ --theme-motion-easing-standard: var(--oods-motion-easing-standard);
687
+ --theme-motion-easing-emphasized: var(--oods-motion-easing-emphasized);
688
+ --theme-motion-easing-linear: var(--oods-motion-easing-linear);
689
+ --theme-motion-transition-hover-duration: var(--oods-motion-duration-fast);
690
+ --theme-motion-transition-hover-timing-function: var(--oods-motion-easing-standard);
691
+ --theme-motion-transition-focus-duration: var(--oods-motion-duration-base);
692
+ --theme-motion-transition-focus-timing-function: var(--oods-motion-easing-standard);
693
+ --theme-motion-transition-chip-in-duration: var(--oods-motion-duration-base);
694
+ --theme-motion-transition-chip-in-timing-function: var(--oods-motion-easing-emphasized);
695
+ --theme-motion-transition-chip-out-duration: var(--oods-motion-duration-fast);
696
+ --theme-motion-transition-chip-out-timing-function: var(--oods-motion-easing-standard);
697
+ --theme-motion-transition-banner-reveal-duration: var(--oods-motion-duration-slow);
698
+ --theme-motion-transition-banner-reveal-timing-function: var(--oods-motion-easing-emphasized);
699
+ --theme-motion-reduced-duration-fast: var(--oods-motion-reduced-duration-fast);
700
+ --theme-motion-reduced-duration-base: var(--oods-motion-reduced-duration-base);
701
+ --theme-motion-reduced-duration-slow: var(--oods-motion-reduced-duration-slow);
702
+ --theme-motion-reduced-transition-hover-duration: var(--oods-motion-reduced-duration-fast);
703
+ --theme-motion-reduced-transition-hover-timing-function: var(--oods-motion-easing-linear);
704
+ --theme-motion-reduced-transition-focus-duration: var(--oods-motion-reduced-duration-base);
705
+ --theme-motion-reduced-transition-focus-timing-function: var(--oods-motion-easing-linear);
706
+ --theme-motion-reduced-transition-chip-in-duration: var(--oods-motion-reduced-duration-base);
707
+ --theme-motion-reduced-transition-chip-in-timing-function: var(--oods-motion-easing-linear);
708
+ --theme-motion-reduced-transition-chip-out-duration: var(--oods-motion-reduced-duration-fast);
709
+ --theme-motion-reduced-transition-chip-out-timing-function: var(--oods-motion-easing-linear);
710
+ --theme-motion-reduced-transition-banner-reveal-duration: var(--oods-motion-reduced-duration-slow);
711
+ --theme-motion-reduced-transition-banner-reveal-timing-function: var(--oods-motion-easing-linear);
712
+ --theme-space-inset-compact: var(--ref-space-inset-compact); /** Compact padding for dense layouts in Theme 0. */
713
+ --theme-space-inset-default: var(--ref-space-inset-default); /** Default padding for spacious layouts in Theme 0. */
714
+ --theme-space-stack-compact: var(--ref-space-stack-compact); /** Tight vertical rhythm in Theme 0. */
715
+ --theme-space-stack-default: var(--ref-space-stack-default); /** Default vertical rhythm in Theme 0. */
716
+ --theme-space-inline-xs: var(--ref-space-inline-xs); /** Compact inline spacing for Theme 0. */
717
+ --theme-space-inline-sm: var(--ref-space-inline-sm); /** Small inline spacing for Theme 0. */
718
+ --theme-space-scale-sm: var(--ref-space-scale-sm); /** Small geometry scalar for Theme 0. */
719
+ --theme-space-scale-md: var(--ref-space-scale-md); /** Medium geometry scalar for Theme 0. */
720
+ --theme-space-scale-lg: var(--ref-space-scale-lg); /** Large geometry scalar for Theme 0. */
721
+ --theme-status-info-surface: var(--ref-color-info-100); /** theme.status.info.surface; generated semantic binding by generate-palette.ts. */
722
+ --theme-status-info-border: var(--ref-color-info-300); /** theme.status.info.border; generated semantic binding by generate-palette.ts. */
723
+ --theme-status-info-text: var(--ref-color-info-900); /** theme.status.info.text; generated semantic binding by generate-palette.ts. */
724
+ --theme-status-info-icon: var(--ref-color-info-700); /** theme.status.info.icon; generated semantic binding by generate-palette.ts. */
725
+ --theme-status-success-surface: var(--ref-color-success-100); /** theme.status.success.surface; generated semantic binding by generate-palette.ts. */
726
+ --theme-status-success-border: var(--ref-color-success-300); /** theme.status.success.border; generated semantic binding by generate-palette.ts. */
727
+ --theme-status-success-text: var(--ref-color-success-900); /** theme.status.success.text; generated semantic binding by generate-palette.ts. */
728
+ --theme-status-success-icon: var(--ref-color-success-700); /** theme.status.success.icon; generated semantic binding by generate-palette.ts. */
729
+ --theme-status-warning-surface: var(--ref-color-warning-100); /** theme.status.warning.surface; generated semantic binding by generate-palette.ts. */
730
+ --theme-status-warning-border: var(--ref-color-warning-300); /** theme.status.warning.border; generated semantic binding by generate-palette.ts. */
731
+ --theme-status-warning-text: var(--ref-color-warning-900); /** theme.status.warning.text; generated semantic binding by generate-palette.ts. */
732
+ --theme-status-warning-icon: var(--ref-color-warning-700); /** theme.status.warning.icon; generated semantic binding by generate-palette.ts. */
733
+ --theme-status-accent-surface: var(--ref-color-accent-100); /** theme.status.accent.surface; generated semantic binding by generate-palette.ts. */
734
+ --theme-status-accent-border: var(--ref-color-accent-300); /** theme.status.accent.border; generated semantic binding by generate-palette.ts. */
735
+ --theme-status-accent-text: var(--ref-color-accent-700); /** theme.status.accent.text; generated semantic binding by generate-palette.ts. */
736
+ --theme-status-accent-icon: var(--ref-color-accent-600); /** theme.status.accent.icon; generated semantic binding by generate-palette.ts. */
737
+ --theme-status-critical-surface: var(--ref-color-critical-100); /** theme.status.critical.surface; generated semantic binding by generate-palette.ts. */
738
+ --theme-status-critical-border: var(--ref-color-critical-300); /** theme.status.critical.border; generated semantic binding by generate-palette.ts. */
739
+ --theme-status-critical-text: var(--ref-color-critical-900); /** theme.status.critical.text; generated semantic binding by generate-palette.ts. */
740
+ --theme-status-critical-icon: var(--ref-color-critical-700); /** theme.status.critical.icon; generated semantic binding by generate-palette.ts. */
741
+ --theme-status-neutral-surface: var(--ref-color-neutral-100); /** theme.status.neutral.surface; generated semantic binding by generate-palette.ts. */
742
+ --theme-status-neutral-border: var(--ref-color-neutral-300); /** theme.status.neutral.border; generated semantic binding by generate-palette.ts. */
743
+ --theme-status-neutral-text: var(--ref-color-neutral-800); /** theme.status.neutral.text; generated semantic binding by generate-palette.ts. */
744
+ --theme-status-neutral-icon: var(--ref-color-neutral-700); /** theme.status.neutral.icon; generated semantic binding by generate-palette.ts. */
745
+ --theme-status-archive-surface: var(--ref-color-archive-100); /** theme.status.archive.surface; generated semantic binding by generate-palette.ts. */
746
+ --theme-status-archive-border: var(--ref-color-archive-300); /** theme.status.archive.border; generated semantic binding by generate-palette.ts. */
747
+ --theme-status-archive-text: var(--ref-color-archive-900); /** theme.status.archive.text; generated semantic binding by generate-palette.ts. */
748
+ --theme-status-archive-icon: var(--ref-color-archive-700); /** theme.status.archive.icon; generated semantic binding by generate-palette.ts. */
749
+ --theme-surface-canvas: var(--ref-color-neutral-50); /** theme.surface.canvas; generated semantic binding by generate-palette.ts. */
750
+ --theme-surface-raised: var(--ref-color-neutral-100); /** theme.surface.raised; generated semantic binding by generate-palette.ts. */
751
+ --theme-surface-subtle: var(--ref-color-neutral-200); /** theme.surface.subtle; generated semantic binding by generate-palette.ts. */
752
+ --theme-surface-backdrop: var(--ref-color-neutral-900); /** theme.surface.backdrop; generated semantic binding by generate-palette.ts. */
753
+ --theme-surface-inverse: var(--ref-color-neutral-900); /** theme.surface.inverse; generated semantic binding by generate-palette.ts. */
754
+ --theme-surface-disabled: var(--ref-color-neutral-200); /** theme.surface.disabled; generated semantic binding by generate-palette.ts. */
755
+ --theme-border-subtle: var(--ref-color-neutral-200); /** theme.border.subtle; generated semantic binding by generate-palette.ts. */
756
+ --theme-border-strong: var(--ref-color-neutral-300); /** theme.border.strong; generated semantic binding by generate-palette.ts. */
757
+ --theme-text-primary: var(--ref-color-neutral-900); /** Primary body text. */
758
+ --theme-text-secondary: var(--ref-color-neutral-700); /** Secondary text for supporting content. */
759
+ --theme-text-muted: var(--ref-color-neutral-600); /** Muted text for captions and labels with AA contrast. */
760
+ --theme-text-inverse: var(--ref-color-neutral-100); /** Text presented on inverse surfaces. */
761
+ --theme-text-accent: var(--ref-color-primary-600); /** Accent text used sparingly for highlights. */
762
+ --theme-text-on-interactive: var(--ref-color-neutral-100); /** Text on interactive primary surfaces. */
763
+ --theme-text-disabled: var(--ref-color-neutral-400); /** Disabled text tone. */
764
+ --theme-icon-primary: var(--ref-color-neutral-800); /** Primary icon tone. */
765
+ --theme-icon-muted: var(--ref-color-neutral-500); /** Muted icon tone for tertiary affordances. */
766
+ --theme-icon-on-interactive: var(--ref-color-neutral-100); /** Icons on interactive primary surfaces. */
767
+ --oods-brand-a-surface-canvas: var(--oods-color-brand-a-surface-canvas); /** Alias for Brand A canvas surface. */
768
+ --oods-brand-a-surface-raised: var(--oods-color-brand-a-surface-raised); /** Alias for Brand A raised surface. */
769
+ --oods-brand-a-surface-subtle: var(--oods-color-brand-a-surface-subtle); /** Alias for Brand A subtle surface. */
770
+ --oods-brand-a-surface-interactive-primary: var(--oods-color-brand-a-surface-interactive-primary-default); /** Alias for Brand A primary interactive background. */
771
+ --oods-brand-a-text-primary: var(--oods-color-brand-a-text-primary); /** Alias for Brand A primary text. */
772
+ --oods-brand-a-text-secondary: var(--oods-color-brand-a-text-secondary); /** Alias for Brand A secondary text. */
773
+ --oods-brand-a-text-muted: var(--oods-color-brand-a-text-muted); /** Alias for Brand A muted text. */
774
+ --oods-brand-a-text-on-interactive: var(--oods-color-brand-a-text-on-interactive); /** Alias for Brand A interactive foreground. */
775
+ --oods-brand-a-border-subtle: var(--oods-color-brand-a-border-subtle); /** Alias for Brand A subtle border. */
776
+ --oods-brand-a-border-strong: var(--oods-color-brand-a-border-strong); /** Alias for Brand A strong border. */
777
+ --oods-brand-a-status-info-surface: var(--oods-color-brand-a-status-info-surface); /** Alias for Brand A info surface. */
778
+ --oods-brand-a-status-info-text: var(--oods-color-brand-a-status-info-text); /** Alias for Brand A info text. */
779
+ --oods-brand-a-status-success-surface: var(--oods-color-brand-a-status-success-surface); /** Alias for Brand A success surface. */
780
+ --oods-brand-a-status-success-text: var(--oods-color-brand-a-status-success-text); /** Alias for Brand A success text. */
781
+ --oods-brand-a-status-warning-surface: var(--oods-color-brand-a-status-warning-surface); /** Alias for Brand A warning surface. */
782
+ --oods-brand-a-status-warning-text: var(--oods-color-brand-a-status-warning-text); /** Alias for Brand A warning text. */
783
+ --oods-brand-a-status-critical-surface: var(--oods-color-brand-a-status-critical-surface); /** Alias for Brand A critical surface. */
784
+ --oods-brand-a-status-critical-text: var(--oods-color-brand-a-status-critical-text); /** Alias for Brand A critical text. */
785
+ --oods-brand-a-status-neutral-surface: var(--oods-color-brand-a-status-neutral-surface); /** Alias for Brand A neutral surface. */
786
+ --oods-brand-a-status-neutral-text: var(--oods-color-brand-a-status-neutral-text); /** Alias for Brand A neutral text. */
787
+ --oods-brand-b-surface-canvas: var(--oods-color-brand-b-surface-canvas); /** Alias for Brand B canvas surface. */
788
+ --oods-brand-b-surface-raised: var(--oods-color-brand-b-surface-raised); /** Alias for Brand B raised surface. */
789
+ --oods-brand-b-surface-subtle: var(--oods-color-brand-b-surface-subtle); /** Alias for Brand B subtle surface. */
790
+ --oods-brand-b-surface-interactive-primary: var(--oods-color-brand-b-surface-interactive-primary-default); /** Alias for Brand B primary interactive background. */
791
+ --oods-brand-b-text-primary: var(--oods-color-brand-b-text-primary); /** Alias for Brand B primary text. */
792
+ --oods-brand-b-text-secondary: var(--oods-color-brand-b-text-secondary); /** Alias for Brand B secondary text. */
793
+ --oods-brand-b-text-muted: var(--oods-color-brand-b-text-muted); /** Alias for Brand B muted text. */
794
+ --oods-brand-b-text-on-interactive: var(--oods-color-brand-b-text-on-interactive); /** Alias for Brand B interactive foreground. */
795
+ --oods-brand-b-border-subtle: var(--oods-color-brand-b-border-subtle); /** Alias for Brand B subtle border. */
796
+ --oods-brand-b-border-strong: var(--oods-color-brand-b-border-strong); /** Alias for Brand B strong border. */
797
+ --oods-brand-b-status-info-surface: var(--oods-color-brand-b-status-info-surface); /** Alias for Brand B info surface. */
798
+ --oods-brand-b-status-info-text: var(--oods-color-brand-b-status-info-text); /** Alias for Brand B info text. */
799
+ --oods-brand-b-status-success-surface: var(--oods-color-brand-b-status-success-surface); /** Alias for Brand B success surface. */
800
+ --oods-brand-b-status-success-text: var(--oods-color-brand-b-status-success-text); /** Alias for Brand B success text. */
801
+ --oods-brand-b-status-warning-surface: var(--oods-color-brand-b-status-warning-surface); /** Alias for Brand B warning surface. */
802
+ --oods-brand-b-status-warning-text: var(--oods-color-brand-b-status-warning-text); /** Alias for Brand B warning text. */
803
+ --oods-brand-b-status-critical-surface: var(--oods-color-brand-b-status-critical-surface); /** Alias for Brand B critical surface. */
804
+ --oods-brand-b-status-critical-text: var(--oods-color-brand-b-status-critical-text); /** Alias for Brand B critical text. */
805
+ --oods-brand-b-status-neutral-surface: var(--oods-color-brand-b-status-neutral-surface); /** Alias for Brand B neutral surface. */
806
+ --oods-brand-b-status-neutral-text: var(--oods-color-brand-b-status-neutral-text); /** Alias for Brand B neutral text. */
807
+ --oods-border-panel-default-color: var(--theme-border-subtle); /** Default border for cards and primary panels. */
808
+ --oods-border-surface-default-color: var(--theme-border-subtle); /** Alias to panel default border. */
809
+ --oods-border-status-critical-color: var(--theme-status-critical-border); /** Critical status banner border with rounded corners. */
810
+ --oods-size-font-sm: var(--sys-text-size-sm); /** Small font scalar; emits --oods-size-font-sm. Seeded NOT consumed (Button-only seed has no font-size). */
811
+ --oods-size-font-md: var(--sys-text-size-md); /** Medium font scalar; emits --oods-size-font-md. Seeded NOT consumed (Button-only seed has no font-size). */
812
+ --oods-size-font-lg: var(--sys-text-size-lg); /** Large font scalar; emits --oods-size-font-lg. Seeded NOT consumed (Button-only seed has no font-size). */
813
+ --sys-surface-accent: var(--sys-surface-interactive-primary-default); /** Compatibility alias for component CSS; use sys.surface.interactive.primary.default for new references. */
814
+ --sys-text-scale-heading-md-font-size: var(--sys-text-size-lg); /** Compatibility alias for component CSS; use sys.text.size.lg for new references. */
815
+ --sys-focus-ring-outer: var(--theme-focus-ring-outer); /** Outer focus ring colour. */
816
+ --sys-focus-ring-inner: var(--theme-focus-ring-inner); /** Inner focus ring colour. */
817
+ --sys-focus-text: var(--theme-focus-text); /** Focus foreground colour. */
818
+ --sys-space-inset-compact: var(--theme-space-inset-compact); /** Compact inset spacing for semantic use. */
819
+ --sys-space-inset-default: var(--theme-space-inset-default); /** Default inset spacing for semantic use. */
820
+ --sys-space-stack-compact: var(--theme-space-stack-compact); /** Compact vertical spacing for semantic use. */
821
+ --sys-space-stack-default: var(--theme-space-stack-default); /** Default vertical spacing for semantic use. */
822
+ --sys-space-inline-xs: var(--theme-space-inline-xs); /** Compact inline spacing for semantic use. */
823
+ --sys-space-inline-sm: var(--theme-space-inline-sm); /** Small inline spacing for semantic use. */
824
+ --sys-space-scale-sm: var(--theme-space-scale-sm); /** Small geometry scalar for semantic use. */
825
+ --sys-space-scale-md: var(--theme-space-scale-md); /** Medium geometry scalar for semantic use. */
826
+ --sys-space-scale-lg: var(--theme-space-scale-lg); /** Large geometry scalar for semantic use. */
827
+ --sys-status-info-surface: var(--theme-status-info-surface); /** Informational background surface. */
828
+ --sys-status-info-border: var(--theme-status-info-border); /** Informational border colour. */
829
+ --sys-status-info-text: var(--theme-status-info-text); /** Informational text colour. */
830
+ --sys-status-info-icon: var(--theme-status-info-icon); /** Informational icon colour. */
831
+ --sys-status-success-surface: var(--theme-status-success-surface); /** Success feedback background. */
832
+ --sys-status-success-border: var(--theme-status-success-border); /** Success border colour. */
833
+ --sys-status-success-text: var(--theme-status-success-text); /** Success text colour. */
834
+ --sys-status-success-icon: var(--theme-status-success-icon); /** Success icon colour. */
835
+ --sys-status-warning-surface: var(--theme-status-warning-surface); /** Warning feedback background. */
836
+ --sys-status-warning-border: var(--theme-status-warning-border); /** Warning border colour. */
837
+ --sys-status-warning-text: var(--theme-status-warning-text); /** Warning text colour. */
838
+ --sys-status-warning-icon: var(--theme-status-warning-icon); /** Warning icon colour. */
839
+ --sys-status-accent-surface: var(--theme-status-accent-surface); /** Accent feedback background. */
840
+ --sys-status-accent-border: var(--theme-status-accent-border); /** Accent border colour. */
841
+ --sys-status-accent-text: var(--theme-status-accent-text); /** Accent text colour. */
842
+ --sys-status-accent-icon: var(--theme-status-accent-icon); /** Accent icon colour. */
843
+ --sys-status-critical-surface: var(--theme-status-critical-surface); /** Critical feedback background. */
844
+ --sys-status-critical-border: var(--theme-status-critical-border); /** Critical border colour. */
845
+ --sys-status-critical-text: var(--theme-status-critical-text); /** Critical text colour. */
846
+ --sys-status-critical-icon: var(--theme-status-critical-icon); /** Critical icon colour. */
847
+ --sys-status-neutral-surface: var(--theme-status-neutral-surface); /** Neutral feedback background. */
848
+ --sys-status-neutral-border: var(--theme-status-neutral-border); /** Neutral border colour. */
849
+ --sys-status-neutral-text: var(--theme-status-neutral-text); /** Neutral text colour. */
850
+ --sys-status-neutral-icon: var(--theme-status-neutral-icon); /** Neutral icon colour. */
851
+ --sys-status-archive-surface: var(--theme-status-archive-surface); /** Archive feedback background. */
852
+ --sys-status-archive-border: var(--theme-status-archive-border); /** Archive border colour. */
853
+ --sys-status-archive-text: var(--theme-status-archive-text); /** Archive text colour. */
854
+ --sys-status-archive-icon: var(--theme-status-archive-icon); /** Archive icon colour. */
855
+ --sys-status-timeline-node-surface: var(--theme-surface-subtle); /** Timeline node background. */
856
+ --sys-status-timeline-actor-text: var(--theme-text-secondary); /** Actor name text in timeline entries. */
857
+ --sys-status-timeline-reason-text: var(--theme-text-primary); /** Reason text in timeline entries. */
858
+ --sys-surface-canvas: var(--theme-surface-canvas); /** Primary application canvas. */
859
+ --sys-surface-raised: var(--theme-surface-raised); /** Raised card surface. */
860
+ --sys-surface-subtle: var(--theme-surface-subtle); /** Subtle secondary surface. */
861
+ --sys-surface-backdrop: var(--theme-surface-backdrop); /** Backdrop scrim surface. */
862
+ --sys-surface-inverse: var(--theme-surface-inverse); /** Inverse surface for dark-on-light treatments. */
863
+ --sys-surface-disabled: var(--theme-surface-disabled); /** Surface colour for disabled or inactive UI. */
864
+ --sys-surface-neutral: var(--theme-status-neutral-surface); /** Neutral surface for status-agnostic backgrounds and banners. */
865
+ --sys-border-subtle: var(--theme-border-subtle); /** Default border for surfaces. */
866
+ --sys-border-default: var(--theme-border-subtle); /** Default border alias. Used by Archivable and Stateful traits. */
867
+ --sys-border-strong: var(--theme-border-strong); /** High-emphasis border. */
868
+ --sys-border-neutral: var(--theme-status-neutral-border); /** Neutral border for status-agnostic containers and banners. */
869
+ --sys-text-primary: var(--theme-text-primary); /** Primary reading text. */
870
+ --sys-text-secondary: var(--theme-text-secondary); /** Secondary supporting text. */
871
+ --sys-text-muted: var(--theme-text-muted); /** Muted caption text. */
872
+ --sys-text-inverse: var(--theme-text-inverse); /** Text on inverse surfaces. */
873
+ --sys-text-accent: var(--theme-text-accent); /** Accent text colour. */
874
+ --sys-text-on-interactive: var(--theme-text-on-interactive); /** Text placed on primary interactive surfaces. */
875
+ --sys-text-disabled: var(--theme-text-disabled); /** Disabled or de-emphasised text. */
876
+ --sys-text-strong: var(--theme-text-primary); /** Strong emphasis text. Used by Labelled trait headings. */
877
+ --sys-text-tertiary: var(--theme-text-muted); /** Tertiary text for supplementary information. Used by Stateful timeline. */
878
+ --sys-text-neutral: var(--theme-status-neutral-text); /** Neutral status text for banners and status-agnostic contexts. */
879
+ --sys-text-line-height-tight: var(--oods-text-line-height-tight); /** System line-height for condensed typography contexts. */
880
+ --sys-text-line-height-standard: var(--oods-text-line-height-standard); /** System line-height for general UI copy. */
881
+ --sys-text-line-height-relaxed: var(--oods-text-line-height-relaxed); /** System line-height for spacious compositions. */
882
+ --sys-text-line-height-loose: var(--oods-text-line-height-loose); /** System line-height for long-form reading. */
883
+ --sys-text-scale-caption-line-height: var(--oods-text-line-height-standard); /** System caption scale. */
884
+ --sys-text-scale-caption-letter-spacing: var(--oods-text-letter-spacing-wide); /** System caption scale. */
885
+ --sys-text-scale-label-md-line-height: var(--oods-text-line-height-standard); /** System label medium scale. */
886
+ --sys-text-scale-label-md-letter-spacing: var(--oods-text-letter-spacing-default); /** System label medium scale. */
887
+ --sys-text-scale-body-sm-line-height: var(--oods-text-line-height-relaxed); /** System compact body scale. */
888
+ --sys-text-scale-body-sm-letter-spacing: var(--oods-text-letter-spacing-default); /** System compact body scale. */
889
+ --sys-text-scale-body-md-line-height: var(--oods-text-line-height-relaxed); /** System default body scale. */
890
+ --sys-text-scale-body-md-letter-spacing: var(--oods-text-letter-spacing-default); /** System default body scale. */
891
+ --sys-text-scale-heading-lg-line-height: var(--oods-text-line-height-tight); /** System large heading scale. */
892
+ --sys-text-scale-heading-lg-letter-spacing: var(--oods-text-letter-spacing-tight); /** System large heading scale. */
893
+ --sys-text-scale-heading-xl-line-height: var(--oods-text-line-height-tight); /** System extra-large heading scale. */
894
+ --sys-text-scale-heading-xl-letter-spacing: var(--oods-text-letter-spacing-tight); /** System extra-large heading scale. */
895
+ --sys-icon-primary: var(--theme-icon-primary); /** Primary icon colour. */
896
+ --sys-icon-muted: var(--theme-icon-muted); /** Muted icon colour. */
897
+ --sys-icon-on-interactive: var(--theme-icon-on-interactive); /** Icon colour on primary interactive surfaces. */
898
+ --oods-text-scale-caption-line-height: var(--oods-text-line-height-standard); /** Caption text for metadata, badges, and helper copy. */
899
+ --oods-text-scale-caption-letter-spacing: var(--oods-text-letter-spacing-wide); /** Caption text for metadata, badges, and helper copy. */
900
+ --oods-text-scale-label-md-line-height: var(--oods-text-line-height-standard); /** Form labels and actionable micro copy. */
901
+ --oods-text-scale-label-md-letter-spacing: var(--oods-text-letter-spacing-default); /** Form labels and actionable micro copy. */
902
+ --oods-text-scale-body-sm-line-height: var(--oods-text-line-height-relaxed); /** Compact body text for dense list views. */
903
+ --oods-text-scale-body-sm-letter-spacing: var(--oods-text-letter-spacing-default); /** Compact body text for dense list views. */
904
+ --oods-text-scale-body-md-line-height: var(--oods-text-line-height-relaxed); /** Primary body copy for detail reading. */
905
+ --oods-text-scale-body-md-letter-spacing: var(--oods-text-letter-spacing-default); /** Primary body copy for detail reading. */
906
+ --oods-text-scale-heading-lg-line-height: var(--oods-text-line-height-tight); /** Major section headings and card titles. */
907
+ --oods-text-scale-heading-lg-letter-spacing: var(--oods-text-letter-spacing-tight); /** Major section headings and card titles. */
908
+ --oods-text-scale-heading-xl-line-height: var(--oods-text-line-height-tight); /** Page-level hero headings. */
909
+ --oods-text-scale-heading-xl-letter-spacing: var(--oods-text-letter-spacing-tight); /** Page-level hero headings. */
910
+ --cmp-badge-font-size: var(--sys-text-size-sm); /** Default badge font size role; component rules may override it. */
911
+ --cmp-badge-font-weight: var(--sys-text-weight-semibold); /** Default badge font weight role; component rules may override it. */
912
+ --cmp-badge-gap: var(--sys-control-gap-compact); /** Default badge gap role; component rules may override it. */
913
+ --cmp-badge-height: var(--sys-badge-height); /** Default badge height role; component rules may override it. */
914
+ --cmp-badge-padding-block: var(--sys-badge-padding-block); /** Default badge padding block role; component rules may override it. */
915
+ --cmp-badge-padding-inline: var(--sys-badge-padding-inline); /** Default badge padding inline role; component rules may override it. */
916
+ --cmp-badge-radius: var(--sys-radius-pill); /** Default badge radius role; component rules may override it. */
917
+ --cmp-billing-cycle-progress-height: var(--sys-progress-height); /** Default billing cycle progress height role; component rules may override it. */
918
+ --cmp-button-background-hover: var(--sys-surface-interactive-primary-hover); /** Default button background hover role; component rules may override it. */
919
+ --cmp-button-focus-width: var(--sys-focus-width); /** Default button focus width role; component rules may override it. */
920
+ --cmp-button-font-weight: var(--sys-text-weight-semibold); /** Default button font weight role; component rules may override it. */
921
+ --cmp-button-gap: var(--sys-control-gap); /** Default button gap role; component rules may override it. */
922
+ --cmp-button-height: var(--sys-control-height-md); /** Default button height role; component rules may override it. */
923
+ --cmp-button-height-lg: var(--sys-control-height-lg); /** Large button height role; component rules may override it. */
924
+ --cmp-button-height-sm: var(--sys-control-height-sm); /** Small button height role; component rules may override it. */
925
+ --cmp-button-padding-block: var(--sys-control-padding-block); /** Default button padding block role; component rules may override it. */
926
+ --cmp-button-padding-block-lg: var(--sys-control-padding-block-lg); /** Large button padding block role; component rules may override it. */
927
+ --cmp-button-padding-block-sm: var(--sys-control-padding-block-sm); /** Small button padding block role; component rules may override it. */
928
+ --cmp-button-padding-inline: var(--sys-control-padding-inline); /** Default button padding inline role; component rules may override it. */
929
+ --cmp-button-padding-inline-lg: var(--sys-control-padding-inline-lg); /** Large button padding inline role; component rules may override it. */
930
+ --cmp-button-padding-inline-sm: var(--sys-control-padding-inline-sm); /** Small button padding inline role; component rules may override it. */
931
+ --cmp-button-radius: var(--sys-radius-control); /** Default button radius role; component rules may override it. */
932
+ --cmp-card-radius: var(--sys-radius-card); /** Default card radius role; component rules may override it. */
933
+ --cmp-checkbox-background-checked: var(--sys-surface-interactive-primary-default); /** Default checkbox background checked role; component rules may override it. */
934
+ --cmp-checkbox-gap: var(--sys-control-gap); /** Default checkbox gap role; component rules may override it. */
935
+ --cmp-focus-offset: var(--sys-focus-offset); /** Default focus offset role; component rules may override it. */
936
+ --cmp-focus-width: var(--sys-focus-width); /** Default focus width role; component rules may override it. */
937
+ --cmp-input-gap: var(--sys-control-gap-tight); /** Default input gap role; component rules may override it. */
938
+ --cmp-input-padding-block: var(--sys-control-padding-block); /** Default input padding block role; component rules may override it. */
939
+ --cmp-input-padding-block-compact: var(--sys-field-padding-block-compact); /** Compact input padding block role; component rules may override it. */
940
+ --cmp-input-padding-inline: var(--sys-field-padding-inline); /** Default input padding inline role; component rules may override it. */
941
+ --cmp-input-padding-inline-compact: var(--sys-field-padding-inline-compact); /** Compact input padding inline role; component rules may override it. */
942
+ --cmp-input-radius: var(--sys-radius-control); /** Default input radius role; component rules may override it. */
943
+ --cmp-spacing-inline-md: var(--sys-inline-md); /** Default spacing inline md role; component rules may override it. */
944
+ --cmp-spacing-inline-sm: var(--sys-inline-sm); /** Default spacing inline sm role; component rules may override it. */
945
+ --cmp-spacing-inline-xs: var(--sys-inline-xs); /** Default spacing inline xs role; component rules may override it. */
946
+ --cmp-spacing-inset-compact: var(--sys-inset-sm); /** Default spacing inset compact role; component rules may override it. */
947
+ --cmp-spacing-inset-default: var(--sys-inset-md); /** Default spacing inset default role; component rules may override it. */
948
+ --cmp-spacing-inset-sm: var(--sys-inset-sm); /** Default spacing inset sm role; component rules may override it. */
949
+ --cmp-spacing-stack-default: var(--sys-stack-md); /** Default spacing stack default role; component rules may override it. */
950
+ --cmp-spacing-stack-lg: var(--sys-stack-lg); /** Default spacing stack lg role; component rules may override it. */
951
+ --cmp-spacing-stack-md: var(--sys-stack-md); /** Default spacing stack md role; component rules may override it. */
952
+ --cmp-spacing-stack-sm: var(--sys-stack-sm); /** Default spacing stack sm role; component rules may override it. */
953
+ --cmp-spacing-stack-xl: var(--sys-stack-xl); /** Default spacing stack xl role; component rules may override it. */
954
+ --cmp-spacing-stack-xs: var(--sys-stack-xs); /** Default spacing stack xs role; component rules may override it. */
955
+ --cmp-surface-action-hover: var(--sys-surface-interactive-primary-hover); /** Default surface action hover role; component rules may override it. */
956
+ --cmp-swatch-chip: var(--sys-surface-interactive-primary-default); /** Default swatch chip role; component rules may override it. */
957
+ --cmp-tabs-indicator-width: var(--sys-tab-indicator-width); /** Default tabs indicator width role; component rules may override it. */
958
+ --cmp-tabs-padding-block: var(--sys-tab-padding-block-md); /** Default tabs padding block role; component rules may override it. */
959
+ --cmp-tabs-padding-block-lg: var(--sys-tab-padding-block-lg); /** Large tabs padding block role; component rules may override it. */
960
+ --cmp-tabs-padding-block-sm: var(--sys-tab-padding-block-sm); /** Small tabs padding block role; component rules may override it. */
961
+ --cmp-tabs-padding-inline: var(--sys-tab-padding-inline-md); /** Default tabs padding inline role; component rules may override it. */
962
+ --cmp-tabs-padding-inline-lg: var(--sys-tab-padding-inline-lg); /** Large tabs padding inline role; component rules may override it. */
963
+ --cmp-tabs-padding-inline-sm: var(--sys-tab-padding-inline-sm); /** Small tabs padding inline role; component rules may override it. */
964
+ --oods-viz-margin-tight: var(--sys-space-inset-compact); /** Tight chart margin referencing system inset compact. */
965
+ --oods-viz-margin-default: var(--sys-space-inline-sm); /** Default chart margin referencing inline small spacing. */
966
+ --oods-viz-margin-roomy: var(--sys-space-stack-default); /** Roomy chart margin referencing stack default spacing. */
967
+ --oods-size-spacing-sm: var(--sys-space-scale-sm); /** Small geometry scalar; emits --oods-size-spacing-sm. Matches divergent-inspector's measured size.spacing key. */
968
+ --oods-size-spacing-md: var(--sys-space-scale-md); /** Medium geometry scalar; emits --oods-size-spacing-md. Matches divergent-inspector's measured size.spacing key. */
969
+ --oods-spacing-inset-compact: var(--sys-space-inset-compact); /** Inset spacing for dense contexts. */
970
+ --oods-spacing-inset-default: var(--sys-space-inset-default); /** Baseline inset spacing. */
971
+ --oods-spacing-stack-compact: var(--sys-space-stack-compact); /** Compact vertical rhythm. */
972
+ --oods-spacing-stack-default: var(--sys-space-stack-default); /** Default vertical rhythm. */
973
+ --oods-spacing-inline-xs: var(--sys-space-inline-xs); /** Extra small inline spacing. */
974
+ --oods-spacing-inline-sm: var(--sys-space-inline-sm); /** Small inline spacing. */
975
+ --sys-focus-ring: var(--sys-focus-ring-outer); /** Compatibility alias for component CSS; use sys.focus.ring.outer for new references. */
976
+ --sys-spacing-stack-compact: var(--sys-space-stack-compact); /** Compatibility alias for component CSS; use sys.space.stack.compact for new references. */
977
+ --sys-surface-default: var(--sys-surface-canvas); /** Compatibility alias for component CSS; use sys.surface.canvas for new references. */
978
+ --sys-text-default: var(--sys-text-primary); /** Compatibility alias for component CSS; use sys.text.primary for new references. */
979
+ --sys-text-subtle: var(--sys-text-secondary); /** Compatibility alias for component CSS; use sys.text.secondary for new references. */
980
+ --sys-status-timeline-node-border: var(--sys-border-subtle); /** Timeline node border. */
981
+ --sys-status-timeline-connector: var(--sys-border-subtle); /** Vertical connector line between timeline nodes. */
982
+ --cmp-badge-background: var(--sys-status-neutral-surface); /** Default badge background role; component rules may override it. */
983
+ --cmp-badge-border: var(--sys-border-subtle); /** Default badge border role; component rules may override it. */
984
+ --cmp-badge-color: var(--sys-text-primary); /** Default badge color role; component rules may override it. */
985
+ --cmp-badge-icon: var(--sys-text-primary); /** Default badge icon role; component rules may override it. */
986
+ --cmp-badge-text: var(--sys-text-primary); /** Default badge text role; component rules may override it. */
987
+ --cmp-banner-background: var(--sys-status-neutral-surface); /** Default banner background role; component rules may override it. */
988
+ --cmp-banner-border: var(--sys-border-subtle); /** Default banner border role; component rules may override it. */
989
+ --cmp-banner-text: var(--sys-text-primary); /** Default banner text role; component rules may override it. */
990
+ --cmp-billing-amount-text: var(--sys-text-strong); /** Default billing amount text role; component rules may override it. */
991
+ --cmp-billing-currency-text: var(--sys-text-secondary); /** Default billing currency text role; component rules may override it. */
992
+ --cmp-billing-cycle-progress-fill: var(--sys-text-accent); /** Default billing cycle progress fill role; component rules may override it. */
993
+ --cmp-billing-interval-text: var(--sys-text-secondary); /** Default billing interval text role; component rules may override it. */
994
+ --cmp-billing-timeline-text: var(--sys-text-primary); /** Default billing timeline text role; component rules may override it. */
995
+ --cmp-border-default: var(--sys-border-subtle); /** Default border default role; component rules may override it. */
996
+ --cmp-border-subtle: var(--sys-border-subtle); /** Default border subtle role; component rules may override it. */
997
+ --cmp-button-background: var(--sys-surface-inverse); /** Default button background role; component rules may override it. */
998
+ --cmp-button-background-disabled: var(--sys-surface-disabled); /** Default button background disabled role; component rules may override it. */
999
+ --cmp-button-border: var(--sys-border-subtle); /** Default button border role; component rules may override it. */
1000
+ --cmp-button-border-disabled: var(--sys-border-subtle); /** Default button border disabled role; component rules may override it. */
1001
+ --cmp-button-focus-outer: var(--sys-focus-ring-outer); /** Default button focus outer role; component rules may override it. */
1002
+ --cmp-button-text: var(--sys-text-inverse); /** Default button text role; component rules may override it. */
1003
+ --cmp-button-text-disabled: var(--sys-text-disabled); /** Default button text disabled role; component rules may override it. */
1004
+ --cmp-checkbox-text: var(--sys-text-primary); /** Default checkbox text role; component rules may override it. */
1005
+ --cmp-event-background: var(--sys-surface-raised); /** Default event background role; component rules may override it. */
1006
+ --cmp-event-border: var(--sys-border-subtle); /** Default event border role; component rules may override it. */
1007
+ --cmp-event-text: var(--sys-text-primary); /** Default event text role; component rules may override it. */
1008
+ --cmp-filter-background: var(--sys-surface-raised); /** Default filter background role; component rules may override it. */
1009
+ --cmp-filter-border: var(--sys-border-subtle); /** Default filter border role; component rules may override it. */
1010
+ --cmp-filter-legend: var(--sys-text-secondary); /** Default filter legend role; component rules may override it. */
1011
+ --cmp-filter-text: var(--sys-text-primary); /** Default filter text role; component rules may override it. */
1012
+ --cmp-focus-outer: var(--sys-focus-ring-outer); /** Default focus outer role; component rules may override it. */
1013
+ --cmp-form-background: var(--sys-surface-raised); /** Default form background role; component rules may override it. */
1014
+ --cmp-form-border: var(--sys-border-subtle); /** Default form border role; component rules may override it. */
1015
+ --cmp-form-hint: var(--sys-text-secondary); /** Default form hint role; component rules may override it. */
1016
+ --cmp-form-text: var(--sys-text-primary); /** Default form text role; component rules may override it. */
1017
+ --cmp-header-metadata: var(--sys-text-secondary); /** Default header metadata role; component rules may override it. */
1018
+ --cmp-header-subtitle: var(--sys-text-secondary); /** Default header subtitle role; component rules may override it. */
1019
+ --cmp-header-title: var(--sys-text-primary); /** Default header title role; component rules may override it. */
1020
+ --cmp-input-background: var(--sys-surface-canvas); /** Default input background role; component rules may override it. */
1021
+ --cmp-input-border: var(--sys-border-subtle); /** Default input border role; component rules may override it. */
1022
+ --cmp-input-focus: var(--sys-focus-ring-outer); /** Default input focus role; component rules may override it. */
1023
+ --cmp-input-message-border: var(--sys-status-warning-border); /** Default input message border role; component rules may override it. */
1024
+ --cmp-input-message-text: var(--sys-status-warning-text); /** Default input message text role; component rules may override it. */
1025
+ --cmp-input-placeholder: var(--sys-text-muted); /** Default input placeholder role; component rules may override it. */
1026
+ --cmp-input-support-text: var(--sys-text-secondary); /** Default input support text role; component rules may override it. */
1027
+ --cmp-input-text: var(--sys-text-primary); /** Default input text role; component rules may override it. */
1028
+ --cmp-meta-label: var(--sys-text-secondary); /** Default meta label role; component rules may override it. */
1029
+ --cmp-meta-text: var(--sys-text-primary); /** Default meta text role; component rules may override it. */
1030
+ --cmp-panel-background: var(--sys-surface-raised); /** Default panel background role; component rules may override it. */
1031
+ --cmp-panel-border: var(--sys-border-subtle); /** Default panel border role; component rules may override it. */
1032
+ --cmp-panel-subtitle: var(--sys-text-secondary); /** Default panel subtitle role; component rules may override it. */
1033
+ --cmp-panel-title: var(--sys-text-primary); /** Default panel title role; component rules may override it. */
1034
+ --cmp-preview-frame: var(--sys-border-subtle); /** Default preview frame role; component rules may override it. */
1035
+ --cmp-preview-placeholder: var(--sys-text-secondary); /** Default preview placeholder role; component rules may override it. */
1036
+ --cmp-summary-background: var(--sys-surface-raised); /** Default summary background role; component rules may override it. */
1037
+ --cmp-summary-border: var(--sys-border-subtle); /** Default summary border role; component rules may override it. */
1038
+ --cmp-summary-label: var(--sys-text-secondary); /** Default summary label role; component rules may override it. */
1039
+ --cmp-summary-text: var(--sys-text-primary); /** Default summary text role; component rules may override it. */
1040
+ --cmp-surface-action: var(--sys-surface-inverse); /** Default surface action role; component rules may override it. */
1041
+ --cmp-surface-panel: var(--sys-surface-raised); /** Default surface panel role; component rules may override it. */
1042
+ --cmp-surface-subtle: var(--sys-surface-subtle); /** Default surface subtle role; component rules may override it. */
1043
+ --cmp-swatch-border: var(--sys-border-subtle); /** Default swatch border role; component rules may override it. */
1044
+ --cmp-text-accent: var(--sys-text-accent); /** Default text accent role; component rules may override it. */
1045
+ --cmp-text-body: var(--sys-text-primary); /** Default text body role; component rules may override it. */
1046
+ --cmp-text-muted: var(--sys-text-muted); /** Default text muted role; component rules may override it. */
1047
+ --cmp-text-on-action: var(--sys-text-inverse); /** Default text on action role; component rules may override it. */
1048
+ --cmp-text-primary: var(--sys-text-primary); /** Default text primary role; component rules may override it. */
1049
+ --cmp-text-secondary: var(--sys-text-secondary); /** Default text secondary role; component rules may override it. */
1050
+ --cmp-timeline-background: var(--sys-surface-raised); /** Default timeline background role; component rules may override it. */
1051
+ --cmp-timeline-border: var(--sys-border-subtle); /** Default timeline border role; component rules may override it. */
1052
+ --cmp-timeline-marker: var(--sys-text-primary); /** Default timeline marker role; component rules may override it. */
1053
+ --cmp-timeline-text: var(--sys-text-primary); /** Default timeline text role; component rules may override it. */
1054
+ --cmp-text-placeholder-color: var(--sys-text-muted); /** Default placeholder text colour. */
1055
+ --cmp-text-placeholder-focus: var(--sys-text-secondary); /** Placeholder text colour when the input is focused. */
1056
+ --cmp-text-placeholder-disabled: var(--sys-text-disabled); /** Placeholder text colour when the input is disabled. */
1057
+ --cmp-text-placeholder-error: var(--sys-status-critical-text); /** Placeholder text colour in error state. */
1058
+ }
1059
+
1060
+ /**
1061
+ * brand A · theme base — brand namespace
1062
+ */
1063
+ [data-brand='A'][data-theme='base'],
1064
+ [data-brand='A'][data-theme='light'] {
1065
+ --oods-viz-scale-categorical-05: oklch(0.45 0.163056 257.5); /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1066
+ --oods-color-brand-a-surface-canvas: oklch(0.985 0.002339 265); /** color.brand.A.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1067
+ --oods-color-brand-a-surface-raised: oklch(1 0 265); /** color.brand.A.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1068
+ --oods-color-brand-a-surface-subtle: oklch(0.95 0.003614 265); /** color.brand.A.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1069
+ --oods-color-brand-a-surface-disabled: oklch(0.93 0.004487 265); /** color.brand.A.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1070
+ --oods-color-brand-a-surface-backdrop: oklch(0.2 0.011021 265); /** color.brand.A.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1071
+ --oods-color-brand-a-surface-inverse: oklch(0.23 0.012515 265); /** color.brand.A.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1072
+ --oods-color-brand-a-surface-interactive-primary-default: oklch(0.53 0.06 43); /** color.brand.A.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1073
+ --oods-color-brand-a-surface-interactive-primary-hover: oklch(0.43 0.075 43); /** color.brand.A.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1074
+ --oods-color-brand-a-surface-interactive-primary-pressed: oklch(0.39 0.085 43); /** color.brand.A.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1075
+ --oods-color-brand-a-border-subtle: oklch(0.86 0.007932 265); /** color.brand.A.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1076
+ --oods-color-brand-a-border-strong: oklch(0.6 0.018863 265); /** color.brand.A.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1077
+ --oods-color-brand-a-focus-ring-outer: oklch(0.46 0.136249 43); /** color.brand.A.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1078
+ --oods-color-brand-a-focus-ring-inner: oklch(0.985 0.002339 265); /** color.brand.A.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1079
+ --oods-color-brand-a-focus-text: oklch(0.46 0.148464 305); /** color.brand.A.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1080
+ --oods-color-brand-a-text-primary: oklch(0.23 0.012515 265); /** color.brand.A.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1081
+ --oods-color-brand-a-text-secondary: oklch(0.38 0.018374 265); /** color.brand.A.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1082
+ --oods-color-brand-a-text-muted: oklch(0.47 0.019896 265); /** color.brand.A.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1083
+ --oods-color-brand-a-text-inverse: oklch(0.96 0.00321 265); /** color.brand.A.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1084
+ --oods-color-brand-a-text-on-interactive: oklch(0.985 0.002339 265); /** color.brand.A.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
1085
+ --oods-color-brand-a-text-disabled: oklch(0.7 0.015665 265); /** color.brand.A.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1086
+ --oods-color-brand-a-text-accent: oklch(0.46 0.148464 305); /** color.brand.A.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1087
+ --oods-color-brand-a-accent-background: oklch(0.95 0.00538 305); /** color.brand.A.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1088
+ --oods-color-brand-a-accent-border: oklch(0.76 0.073317 305); /** color.brand.A.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1089
+ --oods-color-brand-a-accent-text: oklch(0.46 0.148464 305); /** color.brand.A.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1090
+ --oods-color-brand-a-status-info-surface: oklch(0.97 0.006947 245); /** color.brand.A.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1091
+ --oods-color-brand-a-status-info-border: oklch(0.8 0.075175 245); /** color.brand.A.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1092
+ --oods-color-brand-a-status-info-text: oklch(0.42 0.105718 245); /** color.brand.A.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1093
+ --oods-color-brand-a-status-info-icon: oklch(0.56 0.140957 245); /** color.brand.A.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1094
+ --oods-color-brand-a-status-success-surface: oklch(0.97 0.006484 155); /** color.brand.A.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1095
+ --oods-color-brand-a-status-success-border: oklch(0.8 0.070164 155); /** color.brand.A.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1096
+ --oods-color-brand-a-status-success-text: oklch(0.42 0.103833 155); /** color.brand.A.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1097
+ --oods-color-brand-a-status-success-icon: oklch(0.56 0.136785 155); /** color.brand.A.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1098
+ --oods-color-brand-a-status-warning-surface: oklch(0.97 0.006947 85); /** color.brand.A.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1099
+ --oods-color-brand-a-status-warning-border: oklch(0.8 0.075175 85); /** color.brand.A.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1100
+ --oods-color-brand-a-status-warning-text: oklch(0.42 0.086078 85); /** color.brand.A.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1101
+ --oods-color-brand-a-status-warning-icon: oklch(0.56 0.11477 85); /** color.brand.A.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1102
+ --oods-color-brand-a-status-critical-surface: oklch(0.97 0.008337 25); /** color.brand.A.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1103
+ --oods-color-brand-a-status-critical-border: oklch(0.8 0.09021 25); /** color.brand.A.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1104
+ --oods-color-brand-a-status-critical-text: oklch(0.42 0.170269 25); /** color.brand.A.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1105
+ --oods-color-brand-a-status-critical-icon: oklch(0.56 0.175866 25); /** color.brand.A.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1106
+ --oods-color-brand-a-status-neutral-surface: oklch(0.97 0.000926 265); /** color.brand.A.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1107
+ --oods-color-brand-a-status-neutral-border: oklch(0.8 0.010023 265); /** color.brand.A.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1108
+ --oods-color-brand-a-status-neutral-text: oklch(0.42 0.019187 265); /** color.brand.A.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1109
+ --oods-color-brand-a-status-neutral-icon: oklch(0.56 0.019541 265); /** color.brand.A.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1110
+ --oods-color-brand-a-status-accent-surface: oklch(0.95 0.01345 305); /** color.brand.A.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1111
+ --oods-color-brand-a-status-accent-border: oklch(0.81 0.07093 305); /** color.brand.A.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1112
+ --oods-color-brand-a-status-accent-text: oklch(0.42 0.143903 305); /** color.brand.A.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1113
+ --oods-color-brand-a-status-accent-icon: oklch(0.5 0.15 305); /** color.brand.A.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1114
+ }
1115
+
1116
+ /**
1117
+ * brand A · theme base — semantic bridge
1118
+ */
1119
+ [data-brand='A'][data-theme='base'],
1120
+ [data-brand='A'][data-theme='light'] {
1121
+ --theme-surface-canvas: oklch(0.985 0.002339 265);
1122
+ --theme-surface-raised: oklch(1 0 265);
1123
+ --theme-surface-subtle: oklch(0.95 0.003614 265);
1124
+ --theme-surface-disabled: oklch(0.93 0.004487 265);
1125
+ --theme-surface-backdrop: oklch(0.2 0.011021 265);
1126
+ --theme-surface-inverse: oklch(0.23 0.012515 265);
1127
+ --theme-surface-interactive-primary-default: oklch(0.53 0.06 43);
1128
+ --theme-surface-interactive-primary-hover: oklch(0.43 0.075 43);
1129
+ --theme-surface-interactive-primary-pressed: oklch(0.39 0.085 43);
1130
+ --theme-border-subtle: oklch(0.86 0.007932 265);
1131
+ --theme-border-strong: oklch(0.6 0.018863 265);
1132
+ --theme-focus-ring-outer: oklch(0.46 0.136249 43);
1133
+ --theme-focus-ring-inner: oklch(0.985 0.002339 265);
1134
+ --theme-focus-text: oklch(0.46 0.148464 305);
1135
+ --theme-text-primary: oklch(0.23 0.012515 265);
1136
+ --theme-text-secondary: oklch(0.38 0.018374 265);
1137
+ --theme-text-muted: oklch(0.47 0.019896 265);
1138
+ --theme-text-inverse: oklch(0.96 0.00321 265);
1139
+ --theme-text-accent: oklch(0.46 0.148464 305);
1140
+ --theme-text-on-interactive: oklch(0.985 0.002339 265);
1141
+ --theme-text-disabled: oklch(0.7 0.015665 265);
1142
+ --theme-status-info-surface: oklch(0.97 0.006947 245);
1143
+ --theme-status-info-border: oklch(0.8 0.075175 245);
1144
+ --theme-status-info-text: oklch(0.42 0.105718 245);
1145
+ --theme-status-info-icon: oklch(0.56 0.140957 245);
1146
+ --theme-status-success-surface: oklch(0.97 0.006484 155);
1147
+ --theme-status-success-border: oklch(0.8 0.070164 155);
1148
+ --theme-status-success-text: oklch(0.42 0.103833 155);
1149
+ --theme-status-success-icon: oklch(0.56 0.136785 155);
1150
+ --theme-status-warning-surface: oklch(0.97 0.006947 85);
1151
+ --theme-status-warning-border: oklch(0.8 0.075175 85);
1152
+ --theme-status-warning-text: oklch(0.42 0.086078 85);
1153
+ --theme-status-warning-icon: oklch(0.56 0.11477 85);
1154
+ --theme-status-critical-surface: oklch(0.97 0.008337 25);
1155
+ --theme-status-critical-border: oklch(0.8 0.09021 25);
1156
+ --theme-status-critical-text: oklch(0.42 0.170269 25);
1157
+ --theme-status-critical-icon: oklch(0.56 0.175866 25);
1158
+ --theme-status-neutral-surface: oklch(0.97 0.000926 265);
1159
+ --theme-status-neutral-border: oklch(0.8 0.010023 265);
1160
+ --theme-status-neutral-text: oklch(0.42 0.019187 265);
1161
+ --theme-status-neutral-icon: oklch(0.56 0.019541 265);
1162
+ --theme-status-accent-surface: oklch(0.95 0.01345 305);
1163
+ --theme-status-accent-border: oklch(0.81 0.07093 305);
1164
+ --theme-status-accent-text: oklch(0.42 0.143903 305);
1165
+ --theme-status-accent-icon: oklch(0.5 0.15 305);
1166
+ }
1167
+
1168
+ /**
1169
+ * brand A · theme dark — brand namespace
1170
+ */
1171
+ [data-brand='A'][data-theme='dark'] {
1172
+ --oods-viz-mark-single: oklch(0.72 0.065 250); /** mark.single; generated from palette/seeds.json by generate-palette.ts. */
1173
+ --oods-viz-scale-categorical-01: oklch(0.57 0.228252 17.5); /** scale.categorical.01; generated from palette/seeds.json by generate-palette.ts. */
1174
+ --oods-viz-scale-categorical-02: oklch(0.78 0.162882 77.5); /** scale.categorical.02; generated from palette/seeds.json by generate-palette.ts. */
1175
+ --oods-viz-scale-categorical-03: oklch(0.85 0.05 137.5); /** scale.categorical.03; generated from palette/seeds.json by generate-palette.ts. */
1176
+ --oods-viz-scale-categorical-04: oklch(0.9 0.13 197.5); /** scale.categorical.04; generated from palette/seeds.json by generate-palette.ts. */
1177
+ --oods-viz-scale-categorical-05: oklch(0.54 0.195666 257.5); /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1178
+ --oods-viz-scale-categorical-06: oklch(0.66 0.05 317.5); /** scale.categorical.06; generated from palette/seeds.json by generate-palette.ts. */
1179
+ --oods-viz-scale-sequential-01: oklch(0.96 0.007528 257.5); /** scale.sequential.01; generated from palette/seeds.json by generate-palette.ts. */
1180
+ --oods-viz-scale-sequential-02: oklch(0.86 0.036911 257.5); /** scale.sequential.02; generated from palette/seeds.json by generate-palette.ts. */
1181
+ --oods-viz-scale-sequential-03: oklch(0.76 0.068429 257.5); /** scale.sequential.03; generated from palette/seeds.json by generate-palette.ts. */
1182
+ --oods-viz-scale-sequential-04: oklch(0.66 0.094335 257.5); /** scale.sequential.04; generated from palette/seeds.json by generate-palette.ts. */
1183
+ --oods-viz-scale-sequential-05: oklch(0.56 0.109428 257.5); /** scale.sequential.05; generated from palette/seeds.json by generate-palette.ts. */
1184
+ --oods-viz-scale-sequential-06: oklch(0.46 0.110853 257.5); /** scale.sequential.06; generated from palette/seeds.json by generate-palette.ts. */
1185
+ --oods-viz-scale-sequential-07: oklch(0.36 0.098345 257.5); /** scale.sequential.07; generated from palette/seeds.json by generate-palette.ts. */
1186
+ --oods-viz-scale-sequential-08: oklch(0.26 0.074257 257.5); /** scale.sequential.08; generated from palette/seeds.json by generate-palette.ts. */
1187
+ --oods-viz-scale-sequential-09: oklch(0.16 0.04334 257.5); /** scale.sequential.09; generated from palette/seeds.json by generate-palette.ts. */
1188
+ --oods-viz-scale-diverging-neg-01: oklch(0.74 0.066301 197.5); /** scale.diverging.neg-01; generated from palette/seeds.json by generate-palette.ts. */
1189
+ --oods-viz-scale-diverging-pos-01: oklch(0.74 0.066301 17.5); /** scale.diverging.pos-01; generated from palette/seeds.json by generate-palette.ts. */
1190
+ --oods-viz-scale-diverging-neg-02: oklch(0.62 0.090969 197.5); /** scale.diverging.neg-02; generated from palette/seeds.json by generate-palette.ts. */
1191
+ --oods-viz-scale-diverging-pos-02: oklch(0.62 0.090969 17.5); /** scale.diverging.pos-02; generated from palette/seeds.json by generate-palette.ts. */
1192
+ --oods-viz-scale-diverging-neg-03: oklch(0.5 0.085073 197.5); /** scale.diverging.neg-03; generated from palette/seeds.json by generate-palette.ts. */
1193
+ --oods-viz-scale-diverging-pos-03: oklch(0.5 0.085073 17.5); /** scale.diverging.pos-03; generated from palette/seeds.json by generate-palette.ts. */
1194
+ --oods-viz-scale-diverging-neg-04: oklch(0.38 0.064656 197.5); /** scale.diverging.neg-04; generated from palette/seeds.json by generate-palette.ts. */
1195
+ --oods-viz-scale-diverging-pos-04: oklch(0.38 0.064656 17.5); /** scale.diverging.pos-04; generated from palette/seeds.json by generate-palette.ts. */
1196
+ --oods-viz-scale-diverging-neg-05: oklch(0.26 0.04424 197.5); /** scale.diverging.neg-05; generated from palette/seeds.json by generate-palette.ts. */
1197
+ --oods-viz-scale-diverging-pos-05: oklch(0.26 0.04424 17.5); /** scale.diverging.pos-05; generated from palette/seeds.json by generate-palette.ts. */
1198
+ --oods-viz-scale-diverging-neutral: oklch(0.86 0 265); /** scale.diverging.neutral; generated from palette/seeds.json by generate-palette.ts. */
1199
+ --oods-color-brand-a-surface-canvas: oklch(0.18 0.008 265); /** color.brand.A.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1200
+ --oods-color-brand-a-surface-raised: oklch(0.215 0.008 265); /** color.brand.A.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1201
+ --oods-color-brand-a-surface-subtle: oklch(0.25 0.008 265); /** color.brand.A.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1202
+ --oods-color-brand-a-surface-disabled: oklch(0.285 0.008 265); /** color.brand.A.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1203
+ --oods-color-brand-a-surface-backdrop: oklch(0.145 0.008 265); /** color.brand.A.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1204
+ --oods-color-brand-a-surface-inverse: oklch(0.96 0.008 265); /** color.brand.A.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1205
+ --oods-color-brand-a-surface-interactive-primary-default: oklch(0.4 0.06 43); /** color.brand.A.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1206
+ --oods-color-brand-a-surface-interactive-primary-hover: oklch(0.5 0.075 43); /** color.brand.A.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1207
+ --oods-color-brand-a-surface-interactive-primary-pressed: oklch(0.54 0.085 43); /** color.brand.A.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1208
+ --oods-color-brand-a-border-subtle: oklch(0.4 0.008 265); /** color.brand.A.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1209
+ --oods-color-brand-a-border-strong: oklch(0.56 0.008 265); /** color.brand.A.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1210
+ --oods-color-brand-a-focus-ring-outer: oklch(0.85 0.046426 43); /** color.brand.A.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1211
+ --oods-color-brand-a-focus-ring-inner: oklch(0.18 0.008 265); /** color.brand.A.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1212
+ --oods-color-brand-a-focus-text: oklch(0.82 0.047991 305); /** color.brand.A.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1213
+ --oods-color-brand-a-text-primary: oklch(0.94 0.008 265); /** color.brand.A.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1214
+ --oods-color-brand-a-text-secondary: oklch(0.83 0.008 265); /** color.brand.A.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1215
+ --oods-color-brand-a-text-muted: oklch(0.73 0.008 265); /** color.brand.A.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1216
+ --oods-color-brand-a-text-inverse: oklch(0.23 0.008 265); /** color.brand.A.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1217
+ --oods-color-brand-a-text-on-interactive: oklch(0.985 0.006988 265); /** color.brand.A.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
1218
+ --oods-color-brand-a-text-disabled: oklch(0.55 0.008 265); /** color.brand.A.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1219
+ --oods-color-brand-a-text-accent: oklch(0.82 0.047991 305); /** color.brand.A.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1220
+ --oods-color-brand-a-accent-background: oklch(0.29 0.044175 305); /** color.brand.A.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1221
+ --oods-color-brand-a-accent-border: oklch(0.54 0.118771 305); /** color.brand.A.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1222
+ --oods-color-brand-a-accent-text: oklch(0.82 0.047991 305); /** color.brand.A.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1223
+ --oods-color-brand-a-status-info-surface: oklch(0.28 0.070481 245); /** color.brand.A.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1224
+ --oods-color-brand-a-status-info-border: oklch(0.45 0.106275 245); /** color.brand.A.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1225
+ --oods-color-brand-a-status-info-text: oklch(0.88 0.029459 245); /** color.brand.A.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1226
+ --oods-color-brand-a-status-info-icon: oklch(0.8 0.054126 245); /** color.brand.A.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1227
+ --oods-color-brand-a-status-success-surface: oklch(0.28 0.069224 155); /** color.brand.A.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1228
+ --oods-color-brand-a-status-success-border: oklch(0.45 0.09919 155); /** color.brand.A.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1229
+ --oods-color-brand-a-status-success-text: oklch(0.88 0.027495 155); /** color.brand.A.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1230
+ --oods-color-brand-a-status-success-icon: oklch(0.8 0.050518 155); /** color.brand.A.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1231
+ --oods-color-brand-a-status-warning-surface: oklch(0.28 0.057387 85); /** color.brand.A.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1232
+ --oods-color-brand-a-status-warning-border: oklch(0.45 0.092227 85); /** color.brand.A.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1233
+ --oods-color-brand-a-status-warning-text: oklch(0.88 0.029459 85); /** color.brand.A.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1234
+ --oods-color-brand-a-status-warning-icon: oklch(0.8 0.054126 85); /** color.brand.A.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1235
+ --oods-color-brand-a-status-critical-surface: oklch(0.28 0.092346 25); /** color.brand.A.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1236
+ --oods-color-brand-a-status-critical-border: oklch(0.45 0.12753 25); /** color.brand.A.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1237
+ --oods-color-brand-a-status-critical-text: oklch(0.88 0.035351 25); /** color.brand.A.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1238
+ --oods-color-brand-a-status-critical-icon: oklch(0.8 0.064952 25); /** color.brand.A.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1239
+ --oods-color-brand-a-status-neutral-surface: oklch(0.28 0.010261 265); /** color.brand.A.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1240
+ --oods-color-brand-a-status-neutral-border: oklch(0.45 0.01417 265); /** color.brand.A.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1241
+ --oods-color-brand-a-status-neutral-text: oklch(0.88 0.003928 265); /** color.brand.A.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1242
+ --oods-color-brand-a-status-neutral-icon: oklch(0.8 0.007217 265); /** color.brand.A.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1243
+ --oods-color-brand-a-status-accent-surface: oklch(0.28 0.076955 305); /** color.brand.A.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1244
+ --oods-color-brand-a-status-accent-border: oklch(0.45 0.106275 305); /** color.brand.A.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1245
+ --oods-color-brand-a-status-accent-text: oklch(0.88 0.029459 305); /** color.brand.A.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1246
+ --oods-color-brand-a-status-accent-icon: oklch(0.8 0.054126 305); /** color.brand.A.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1247
+ }
1248
+
1249
+ /**
1250
+ * brand A · theme dark — semantic bridge
1251
+ */
1252
+ [data-brand='A'][data-theme='dark'] {
1253
+ --theme-surface-canvas: oklch(0.18 0.008 265);
1254
+ --theme-surface-raised: oklch(0.215 0.008 265);
1255
+ --theme-surface-subtle: oklch(0.25 0.008 265);
1256
+ --theme-surface-disabled: oklch(0.285 0.008 265);
1257
+ --theme-surface-backdrop: oklch(0.145 0.008 265);
1258
+ --theme-surface-inverse: oklch(0.96 0.008 265);
1259
+ --theme-surface-interactive-primary-default: oklch(0.4 0.06 43);
1260
+ --theme-surface-interactive-primary-hover: oklch(0.5 0.075 43);
1261
+ --theme-surface-interactive-primary-pressed: oklch(0.54 0.085 43);
1262
+ --theme-border-subtle: oklch(0.4 0.008 265);
1263
+ --theme-border-strong: oklch(0.56 0.008 265);
1264
+ --theme-focus-ring-outer: oklch(0.85 0.046426 43);
1265
+ --theme-focus-ring-inner: oklch(0.18 0.008 265);
1266
+ --theme-focus-text: oklch(0.82 0.047991 305);
1267
+ --theme-text-primary: oklch(0.94 0.008 265);
1268
+ --theme-text-secondary: oklch(0.83 0.008 265);
1269
+ --theme-text-muted: oklch(0.73 0.008 265);
1270
+ --theme-text-inverse: oklch(0.23 0.008 265);
1271
+ --theme-text-accent: oklch(0.82 0.047991 305);
1272
+ --theme-text-on-interactive: oklch(0.985 0.006988 265);
1273
+ --theme-text-disabled: oklch(0.55 0.008 265);
1274
+ --theme-status-info-surface: oklch(0.28 0.070481 245);
1275
+ --theme-status-info-border: oklch(0.45 0.106275 245);
1276
+ --theme-status-info-text: oklch(0.88 0.029459 245);
1277
+ --theme-status-info-icon: oklch(0.8 0.054126 245);
1278
+ --theme-status-success-surface: oklch(0.28 0.069224 155);
1279
+ --theme-status-success-border: oklch(0.45 0.09919 155);
1280
+ --theme-status-success-text: oklch(0.88 0.027495 155);
1281
+ --theme-status-success-icon: oklch(0.8 0.050518 155);
1282
+ --theme-status-warning-surface: oklch(0.28 0.057387 85);
1283
+ --theme-status-warning-border: oklch(0.45 0.092227 85);
1284
+ --theme-status-warning-text: oklch(0.88 0.029459 85);
1285
+ --theme-status-warning-icon: oklch(0.8 0.054126 85);
1286
+ --theme-status-critical-surface: oklch(0.28 0.092346 25);
1287
+ --theme-status-critical-border: oklch(0.45 0.12753 25);
1288
+ --theme-status-critical-text: oklch(0.88 0.035351 25);
1289
+ --theme-status-critical-icon: oklch(0.8 0.064952 25);
1290
+ --theme-status-neutral-surface: oklch(0.28 0.010261 265);
1291
+ --theme-status-neutral-border: oklch(0.45 0.01417 265);
1292
+ --theme-status-neutral-text: oklch(0.88 0.003928 265);
1293
+ --theme-status-neutral-icon: oklch(0.8 0.007217 265);
1294
+ --theme-status-accent-surface: oklch(0.28 0.076955 305);
1295
+ --theme-status-accent-border: oklch(0.45 0.106275 305);
1296
+ --theme-status-accent-text: oklch(0.88 0.029459 305);
1297
+ --theme-status-accent-icon: oklch(0.8 0.054126 305);
1298
+ }
1299
+
1300
+ /**
1301
+ * brand A · theme hc — brand namespace
1302
+ */
1303
+ [data-brand='A'][data-theme='hc'] {
1304
+ --oods-viz-mark-single: CanvasText; /** mark.single; generated from palette/seeds.json by generate-palette.ts. */
1305
+ --oods-viz-scale-categorical-01: CanvasText; /** scale.categorical.01; generated from palette/seeds.json by generate-palette.ts. */
1306
+ --oods-viz-scale-categorical-02: CanvasText; /** scale.categorical.02; generated from palette/seeds.json by generate-palette.ts. */
1307
+ --oods-viz-scale-categorical-03: CanvasText; /** scale.categorical.03; generated from palette/seeds.json by generate-palette.ts. */
1308
+ --oods-viz-scale-categorical-04: CanvasText; /** scale.categorical.04; generated from palette/seeds.json by generate-palette.ts. */
1309
+ --oods-viz-scale-categorical-05: CanvasText; /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1310
+ --oods-viz-scale-categorical-06: CanvasText; /** scale.categorical.06; generated from palette/seeds.json by generate-palette.ts. */
1311
+ --oods-viz-scale-sequential-01: oklch(0.94 0 265); /** scale.sequential.01; generated from palette/seeds.json by generate-palette.ts. */
1312
+ --oods-viz-scale-sequential-02: oklch(0.84 0 265); /** scale.sequential.02; generated from palette/seeds.json by generate-palette.ts. */
1313
+ --oods-viz-scale-sequential-03: oklch(0.74 0 265); /** scale.sequential.03; generated from palette/seeds.json by generate-palette.ts. */
1314
+ --oods-viz-scale-sequential-04: oklch(0.64 0 265); /** scale.sequential.04; generated from palette/seeds.json by generate-palette.ts. */
1315
+ --oods-viz-scale-sequential-05: oklch(0.54 0 265); /** scale.sequential.05; generated from palette/seeds.json by generate-palette.ts. */
1316
+ --oods-viz-scale-sequential-06: oklch(0.44 0 265); /** scale.sequential.06; generated from palette/seeds.json by generate-palette.ts. */
1317
+ --oods-viz-scale-sequential-07: oklch(0.34 0 265); /** scale.sequential.07; generated from palette/seeds.json by generate-palette.ts. */
1318
+ --oods-viz-scale-sequential-08: oklch(0.24 0 265); /** scale.sequential.08; generated from palette/seeds.json by generate-palette.ts. */
1319
+ --oods-viz-scale-sequential-09: oklch(0.14 0 265); /** scale.sequential.09; generated from palette/seeds.json by generate-palette.ts. */
1320
+ --oods-viz-scale-diverging-neg-01: oklch(0.7 0 197.5); /** scale.diverging.neg-01; generated from palette/seeds.json by generate-palette.ts. */
1321
+ --oods-viz-scale-diverging-pos-01: oklch(0.7 0 17.5); /** scale.diverging.pos-01; generated from palette/seeds.json by generate-palette.ts. */
1322
+ --oods-viz-scale-diverging-neg-02: oklch(0.58 0 197.5); /** scale.diverging.neg-02; generated from palette/seeds.json by generate-palette.ts. */
1323
+ --oods-viz-scale-diverging-pos-02: oklch(0.58 0 17.5); /** scale.diverging.pos-02; generated from palette/seeds.json by generate-palette.ts. */
1324
+ --oods-viz-scale-diverging-neg-03: oklch(0.46 0 197.5); /** scale.diverging.neg-03; generated from palette/seeds.json by generate-palette.ts. */
1325
+ --oods-viz-scale-diverging-pos-03: oklch(0.46 0 17.5); /** scale.diverging.pos-03; generated from palette/seeds.json by generate-palette.ts. */
1326
+ --oods-viz-scale-diverging-neg-04: oklch(0.34 0 197.5); /** scale.diverging.neg-04; generated from palette/seeds.json by generate-palette.ts. */
1327
+ --oods-viz-scale-diverging-pos-04: oklch(0.34 0 17.5); /** scale.diverging.pos-04; generated from palette/seeds.json by generate-palette.ts. */
1328
+ --oods-viz-scale-diverging-neg-05: oklch(0.22 0 197.5); /** scale.diverging.neg-05; generated from palette/seeds.json by generate-palette.ts. */
1329
+ --oods-viz-scale-diverging-pos-05: oklch(0.22 0 17.5); /** scale.diverging.pos-05; generated from palette/seeds.json by generate-palette.ts. */
1330
+ --oods-viz-scale-diverging-neutral: oklch(0.82 0 265); /** scale.diverging.neutral; generated from palette/seeds.json by generate-palette.ts. */
1331
+ --oods-color-brand-a-surface-canvas: Canvas; /** color.brand.A.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1332
+ --oods-color-brand-a-surface-raised: Canvas; /** color.brand.A.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1333
+ --oods-color-brand-a-surface-subtle: Canvas; /** color.brand.A.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1334
+ --oods-color-brand-a-surface-disabled: Canvas; /** color.brand.A.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1335
+ --oods-color-brand-a-surface-backdrop: Canvas; /** color.brand.A.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1336
+ --oods-color-brand-a-surface-inverse: CanvasText; /** color.brand.A.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1337
+ --oods-color-brand-a-surface-interactive-primary-default: Highlight; /** color.brand.A.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1338
+ --oods-color-brand-a-surface-interactive-primary-hover: Highlight; /** color.brand.A.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1339
+ --oods-color-brand-a-surface-interactive-primary-pressed: Highlight; /** color.brand.A.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1340
+ --oods-color-brand-a-border-subtle: CanvasText; /** color.brand.A.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1341
+ --oods-color-brand-a-border-strong: Highlight; /** color.brand.A.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1342
+ --oods-color-brand-a-focus-ring-outer: Highlight; /** color.brand.A.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1343
+ --oods-color-brand-a-focus-ring-inner: Canvas; /** color.brand.A.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1344
+ --oods-color-brand-a-focus-text: HighlightText; /** color.brand.A.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1345
+ --oods-color-brand-a-text-primary: CanvasText; /** color.brand.A.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1346
+ --oods-color-brand-a-text-secondary: GrayText; /** color.brand.A.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1347
+ --oods-color-brand-a-text-muted: GrayText; /** color.brand.A.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1348
+ --oods-color-brand-a-text-inverse: Canvas; /** color.brand.A.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1349
+ --oods-color-brand-a-text-on-interactive: HighlightText; /** color.brand.A.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. */
1350
+ --oods-color-brand-a-text-disabled: GrayText; /** color.brand.A.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1351
+ --oods-color-brand-a-text-accent: LinkText; /** color.brand.A.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1352
+ --oods-color-brand-a-accent-background: Canvas; /** color.brand.A.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1353
+ --oods-color-brand-a-accent-border: Highlight; /** color.brand.A.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1354
+ --oods-color-brand-a-accent-text: HighlightText; /** color.brand.A.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1355
+ --oods-color-brand-a-status-info-surface: Canvas; /** color.brand.A.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1356
+ --oods-color-brand-a-status-info-border: Highlight; /** color.brand.A.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1357
+ --oods-color-brand-a-status-info-text: HighlightText; /** color.brand.A.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1358
+ --oods-color-brand-a-status-info-icon: HighlightText; /** color.brand.A.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1359
+ --oods-color-brand-a-status-success-surface: Canvas; /** color.brand.A.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1360
+ --oods-color-brand-a-status-success-border: Highlight; /** color.brand.A.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1361
+ --oods-color-brand-a-status-success-text: HighlightText; /** color.brand.A.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1362
+ --oods-color-brand-a-status-success-icon: HighlightText; /** color.brand.A.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1363
+ --oods-color-brand-a-status-warning-surface: Canvas; /** color.brand.A.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1364
+ --oods-color-brand-a-status-warning-border: Highlight; /** color.brand.A.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1365
+ --oods-color-brand-a-status-warning-text: HighlightText; /** color.brand.A.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1366
+ --oods-color-brand-a-status-warning-icon: HighlightText; /** color.brand.A.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1367
+ --oods-color-brand-a-status-critical-surface: Canvas; /** color.brand.A.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1368
+ --oods-color-brand-a-status-critical-border: Highlight; /** color.brand.A.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1369
+ --oods-color-brand-a-status-critical-text: HighlightText; /** color.brand.A.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1370
+ --oods-color-brand-a-status-critical-icon: HighlightText; /** color.brand.A.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1371
+ --oods-color-brand-a-status-neutral-surface: Canvas; /** color.brand.A.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1372
+ --oods-color-brand-a-status-neutral-border: CanvasText; /** color.brand.A.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1373
+ --oods-color-brand-a-status-neutral-text: CanvasText; /** color.brand.A.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1374
+ --oods-color-brand-a-status-neutral-icon: CanvasText; /** color.brand.A.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1375
+ --oods-color-brand-a-status-accent-surface: Canvas; /** color.brand.A.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1376
+ --oods-color-brand-a-status-accent-border: Highlight; /** color.brand.A.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1377
+ --oods-color-brand-a-status-accent-text: HighlightText; /** color.brand.A.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1378
+ --oods-color-brand-a-status-accent-icon: HighlightText; /** color.brand.A.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1379
+ }
1380
+
1381
+ /**
1382
+ * brand A · theme hc — semantic bridge
1383
+ */
1384
+ [data-brand='A'][data-theme='hc'] {
1385
+ --theme-surface-canvas: Canvas;
1386
+ --theme-surface-raised: Canvas;
1387
+ --theme-surface-subtle: Canvas;
1388
+ --theme-surface-disabled: Canvas;
1389
+ --theme-surface-backdrop: Canvas;
1390
+ --theme-surface-inverse: CanvasText;
1391
+ --theme-surface-interactive-primary-default: Highlight;
1392
+ --theme-surface-interactive-primary-hover: Highlight;
1393
+ --theme-surface-interactive-primary-pressed: Highlight;
1394
+ --theme-border-subtle: CanvasText;
1395
+ --theme-border-strong: Highlight;
1396
+ --theme-focus-ring-outer: Highlight;
1397
+ --theme-focus-ring-inner: Canvas;
1398
+ --theme-focus-text: HighlightText;
1399
+ --theme-text-primary: CanvasText;
1400
+ --theme-text-secondary: GrayText;
1401
+ --theme-text-muted: GrayText;
1402
+ --theme-text-inverse: Canvas;
1403
+ --theme-text-accent: LinkText;
1404
+ --theme-text-on-interactive: HighlightText;
1405
+ --theme-text-disabled: GrayText;
1406
+ --theme-status-info-surface: Canvas;
1407
+ --theme-status-info-border: Highlight;
1408
+ --theme-status-info-text: HighlightText;
1409
+ --theme-status-info-icon: HighlightText;
1410
+ --theme-status-success-surface: Canvas;
1411
+ --theme-status-success-border: Highlight;
1412
+ --theme-status-success-text: HighlightText;
1413
+ --theme-status-success-icon: HighlightText;
1414
+ --theme-status-warning-surface: Canvas;
1415
+ --theme-status-warning-border: Highlight;
1416
+ --theme-status-warning-text: HighlightText;
1417
+ --theme-status-warning-icon: HighlightText;
1418
+ --theme-status-critical-surface: Canvas;
1419
+ --theme-status-critical-border: Highlight;
1420
+ --theme-status-critical-text: HighlightText;
1421
+ --theme-status-critical-icon: HighlightText;
1422
+ --theme-status-neutral-surface: Canvas;
1423
+ --theme-status-neutral-border: CanvasText;
1424
+ --theme-status-neutral-text: CanvasText;
1425
+ --theme-status-neutral-icon: CanvasText;
1426
+ --theme-status-accent-surface: Canvas;
1427
+ --theme-status-accent-border: Highlight;
1428
+ --theme-status-accent-text: HighlightText;
1429
+ --theme-status-accent-icon: HighlightText;
1430
+ }
1431
+
1432
+ /**
1433
+ * brand B · theme base — brand namespace
1434
+ */
1435
+ [data-brand='B'][data-theme='base'],
1436
+ [data-brand='B'][data-theme='light'] {
1437
+ --oods-viz-scale-categorical-05: oklch(0.45 0.163056 257.5); /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1438
+ --oods-color-brand-b-surface-canvas: oklch(0.985 0.002339 265); /** color.brand.B.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1439
+ --oods-color-brand-b-surface-raised: oklch(1 0 265); /** color.brand.B.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1440
+ --oods-color-brand-b-surface-subtle: oklch(0.95 0.003614 265); /** color.brand.B.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1441
+ --oods-color-brand-b-surface-disabled: oklch(0.93 0.004487 265); /** color.brand.B.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1442
+ --oods-color-brand-b-surface-backdrop: oklch(0.2 0.011021 265); /** color.brand.B.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1443
+ --oods-color-brand-b-surface-inverse: oklch(0.23 0.012515 265); /** color.brand.B.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1444
+ --oods-color-brand-b-surface-interactive-primary-default: oklch(0.53 0.06 210); /** color.brand.B.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1445
+ --oods-color-brand-b-surface-interactive-primary-hover: oklch(0.43 0.074368 210); /** color.brand.B.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1446
+ --oods-color-brand-b-surface-interactive-primary-pressed: oklch(0.39 0.06745 210); /** color.brand.B.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1447
+ --oods-color-brand-b-border-subtle: oklch(0.86 0.007932 265); /** color.brand.B.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1448
+ --oods-color-brand-b-border-strong: oklch(0.6 0.018863 265); /** color.brand.B.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1449
+ --oods-color-brand-b-focus-ring-outer: oklch(0.46 0.079556 210); /** color.brand.B.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1450
+ --oods-color-brand-b-focus-ring-inner: oklch(0.985 0.002339 265); /** color.brand.B.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1451
+ --oods-color-brand-b-focus-text: oklch(0.46 0.148464 305); /** color.brand.B.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1452
+ --oods-color-brand-b-text-primary: oklch(0.23 0.012515 265); /** color.brand.B.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1453
+ --oods-color-brand-b-text-secondary: oklch(0.38 0.018374 265); /** color.brand.B.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1454
+ --oods-color-brand-b-text-muted: oklch(0.47 0.019896 265); /** color.brand.B.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1455
+ --oods-color-brand-b-text-inverse: oklch(0.96 0.00321 265); /** color.brand.B.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1456
+ --oods-color-brand-b-text-on-interactive: oklch(1 0 0); /** color.brand.B.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
1457
+ --oods-color-brand-b-text-disabled: oklch(0.7 0.015665 265); /** color.brand.B.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1458
+ --oods-color-brand-b-text-accent: oklch(0.46 0.148464 305); /** color.brand.B.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1459
+ --oods-color-brand-b-accent-background: oklch(0.95 0.00538 305); /** color.brand.B.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1460
+ --oods-color-brand-b-accent-border: oklch(0.76 0.073317 305); /** color.brand.B.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1461
+ --oods-color-brand-b-accent-text: oklch(0.46 0.148464 305); /** color.brand.B.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1462
+ --oods-color-brand-b-status-info-surface: oklch(0.97 0.006947 245); /** color.brand.B.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1463
+ --oods-color-brand-b-status-info-border: oklch(0.8 0.075175 245); /** color.brand.B.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1464
+ --oods-color-brand-b-status-info-text: oklch(0.42 0.105718 245); /** color.brand.B.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1465
+ --oods-color-brand-b-status-info-icon: oklch(0.56 0.140957 245); /** color.brand.B.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1466
+ --oods-color-brand-b-status-success-surface: oklch(0.97 0.006484 155); /** color.brand.B.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1467
+ --oods-color-brand-b-status-success-border: oklch(0.8 0.070164 155); /** color.brand.B.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1468
+ --oods-color-brand-b-status-success-text: oklch(0.42 0.103833 155); /** color.brand.B.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1469
+ --oods-color-brand-b-status-success-icon: oklch(0.56 0.136785 155); /** color.brand.B.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1470
+ --oods-color-brand-b-status-warning-surface: oklch(0.97 0.006947 85); /** color.brand.B.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1471
+ --oods-color-brand-b-status-warning-border: oklch(0.8 0.075175 85); /** color.brand.B.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1472
+ --oods-color-brand-b-status-warning-text: oklch(0.42 0.086078 85); /** color.brand.B.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1473
+ --oods-color-brand-b-status-warning-icon: oklch(0.56 0.11477 85); /** color.brand.B.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1474
+ --oods-color-brand-b-status-critical-surface: oklch(0.97 0.008337 25); /** color.brand.B.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1475
+ --oods-color-brand-b-status-critical-border: oklch(0.8 0.09021 25); /** color.brand.B.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1476
+ --oods-color-brand-b-status-critical-text: oklch(0.42 0.170269 25); /** color.brand.B.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1477
+ --oods-color-brand-b-status-critical-icon: oklch(0.56 0.175866 25); /** color.brand.B.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1478
+ --oods-color-brand-b-status-neutral-surface: oklch(0.97 0.000926 265); /** color.brand.B.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1479
+ --oods-color-brand-b-status-neutral-border: oklch(0.8 0.010023 265); /** color.brand.B.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1480
+ --oods-color-brand-b-status-neutral-text: oklch(0.42 0.019187 265); /** color.brand.B.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1481
+ --oods-color-brand-b-status-neutral-icon: oklch(0.56 0.019541 265); /** color.brand.B.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1482
+ --oods-color-brand-b-status-accent-surface: oklch(0.95 0.01345 305); /** color.brand.B.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1483
+ --oods-color-brand-b-status-accent-border: oklch(0.81 0.07093 305); /** color.brand.B.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1484
+ --oods-color-brand-b-status-accent-text: oklch(0.42 0.143903 305); /** color.brand.B.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1485
+ --oods-color-brand-b-status-accent-icon: oklch(0.5 0.15 305); /** color.brand.B.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1486
+ }
1487
+
1488
+ /**
1489
+ * brand B · theme base — semantic bridge
1490
+ */
1491
+ [data-brand='B'][data-theme='base'],
1492
+ [data-brand='B'][data-theme='light'] {
1493
+ --theme-surface-canvas: oklch(0.985 0.002339 265);
1494
+ --theme-surface-raised: oklch(1 0 265);
1495
+ --theme-surface-subtle: oklch(0.95 0.003614 265);
1496
+ --theme-surface-disabled: oklch(0.93 0.004487 265);
1497
+ --theme-surface-backdrop: oklch(0.2 0.011021 265);
1498
+ --theme-surface-inverse: oklch(0.23 0.012515 265);
1499
+ --theme-surface-interactive-primary-default: oklch(0.53 0.06 210);
1500
+ --theme-surface-interactive-primary-hover: oklch(0.43 0.074368 210);
1501
+ --theme-surface-interactive-primary-pressed: oklch(0.39 0.06745 210);
1502
+ --theme-border-subtle: oklch(0.86 0.007932 265);
1503
+ --theme-border-strong: oklch(0.6 0.018863 265);
1504
+ --theme-focus-ring-outer: oklch(0.46 0.079556 210);
1505
+ --theme-focus-ring-inner: oklch(0.985 0.002339 265);
1506
+ --theme-focus-text: oklch(0.46 0.148464 305);
1507
+ --theme-text-primary: oklch(0.23 0.012515 265);
1508
+ --theme-text-secondary: oklch(0.38 0.018374 265);
1509
+ --theme-text-muted: oklch(0.47 0.019896 265);
1510
+ --theme-text-inverse: oklch(0.96 0.00321 265);
1511
+ --theme-text-accent: oklch(0.46 0.148464 305);
1512
+ --theme-text-on-interactive: oklch(1 0 0);
1513
+ --theme-text-disabled: oklch(0.7 0.015665 265);
1514
+ --theme-status-info-surface: oklch(0.97 0.006947 245);
1515
+ --theme-status-info-border: oklch(0.8 0.075175 245);
1516
+ --theme-status-info-text: oklch(0.42 0.105718 245);
1517
+ --theme-status-info-icon: oklch(0.56 0.140957 245);
1518
+ --theme-status-success-surface: oklch(0.97 0.006484 155);
1519
+ --theme-status-success-border: oklch(0.8 0.070164 155);
1520
+ --theme-status-success-text: oklch(0.42 0.103833 155);
1521
+ --theme-status-success-icon: oklch(0.56 0.136785 155);
1522
+ --theme-status-warning-surface: oklch(0.97 0.006947 85);
1523
+ --theme-status-warning-border: oklch(0.8 0.075175 85);
1524
+ --theme-status-warning-text: oklch(0.42 0.086078 85);
1525
+ --theme-status-warning-icon: oklch(0.56 0.11477 85);
1526
+ --theme-status-critical-surface: oklch(0.97 0.008337 25);
1527
+ --theme-status-critical-border: oklch(0.8 0.09021 25);
1528
+ --theme-status-critical-text: oklch(0.42 0.170269 25);
1529
+ --theme-status-critical-icon: oklch(0.56 0.175866 25);
1530
+ --theme-status-neutral-surface: oklch(0.97 0.000926 265);
1531
+ --theme-status-neutral-border: oklch(0.8 0.010023 265);
1532
+ --theme-status-neutral-text: oklch(0.42 0.019187 265);
1533
+ --theme-status-neutral-icon: oklch(0.56 0.019541 265);
1534
+ --theme-status-accent-surface: oklch(0.95 0.01345 305);
1535
+ --theme-status-accent-border: oklch(0.81 0.07093 305);
1536
+ --theme-status-accent-text: oklch(0.42 0.143903 305);
1537
+ --theme-status-accent-icon: oklch(0.5 0.15 305);
1538
+ }
1539
+
1540
+ /**
1541
+ * brand B · theme dark — brand namespace
1542
+ */
1543
+ [data-brand='B'][data-theme='dark'] {
1544
+ --oods-viz-mark-single: oklch(0.72 0.065 250); /** mark.single; generated from palette/seeds.json by generate-palette.ts. */
1545
+ --oods-viz-scale-categorical-01: oklch(0.57 0.228252 17.5); /** scale.categorical.01; generated from palette/seeds.json by generate-palette.ts. */
1546
+ --oods-viz-scale-categorical-02: oklch(0.78 0.162882 77.5); /** scale.categorical.02; generated from palette/seeds.json by generate-palette.ts. */
1547
+ --oods-viz-scale-categorical-03: oklch(0.85 0.05 137.5); /** scale.categorical.03; generated from palette/seeds.json by generate-palette.ts. */
1548
+ --oods-viz-scale-categorical-04: oklch(0.9 0.13 197.5); /** scale.categorical.04; generated from palette/seeds.json by generate-palette.ts. */
1549
+ --oods-viz-scale-categorical-05: oklch(0.54 0.195666 257.5); /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1550
+ --oods-viz-scale-categorical-06: oklch(0.66 0.05 317.5); /** scale.categorical.06; generated from palette/seeds.json by generate-palette.ts. */
1551
+ --oods-viz-scale-sequential-01: oklch(0.96 0.007528 257.5); /** scale.sequential.01; generated from palette/seeds.json by generate-palette.ts. */
1552
+ --oods-viz-scale-sequential-02: oklch(0.86 0.036911 257.5); /** scale.sequential.02; generated from palette/seeds.json by generate-palette.ts. */
1553
+ --oods-viz-scale-sequential-03: oklch(0.76 0.068429 257.5); /** scale.sequential.03; generated from palette/seeds.json by generate-palette.ts. */
1554
+ --oods-viz-scale-sequential-04: oklch(0.66 0.094335 257.5); /** scale.sequential.04; generated from palette/seeds.json by generate-palette.ts. */
1555
+ --oods-viz-scale-sequential-05: oklch(0.56 0.109428 257.5); /** scale.sequential.05; generated from palette/seeds.json by generate-palette.ts. */
1556
+ --oods-viz-scale-sequential-06: oklch(0.46 0.110853 257.5); /** scale.sequential.06; generated from palette/seeds.json by generate-palette.ts. */
1557
+ --oods-viz-scale-sequential-07: oklch(0.36 0.098345 257.5); /** scale.sequential.07; generated from palette/seeds.json by generate-palette.ts. */
1558
+ --oods-viz-scale-sequential-08: oklch(0.26 0.074257 257.5); /** scale.sequential.08; generated from palette/seeds.json by generate-palette.ts. */
1559
+ --oods-viz-scale-sequential-09: oklch(0.16 0.04334 257.5); /** scale.sequential.09; generated from palette/seeds.json by generate-palette.ts. */
1560
+ --oods-viz-scale-diverging-neg-01: oklch(0.74 0.066301 197.5); /** scale.diverging.neg-01; generated from palette/seeds.json by generate-palette.ts. */
1561
+ --oods-viz-scale-diverging-pos-01: oklch(0.74 0.066301 17.5); /** scale.diverging.pos-01; generated from palette/seeds.json by generate-palette.ts. */
1562
+ --oods-viz-scale-diverging-neg-02: oklch(0.62 0.090969 197.5); /** scale.diverging.neg-02; generated from palette/seeds.json by generate-palette.ts. */
1563
+ --oods-viz-scale-diverging-pos-02: oklch(0.62 0.090969 17.5); /** scale.diverging.pos-02; generated from palette/seeds.json by generate-palette.ts. */
1564
+ --oods-viz-scale-diverging-neg-03: oklch(0.5 0.085073 197.5); /** scale.diverging.neg-03; generated from palette/seeds.json by generate-palette.ts. */
1565
+ --oods-viz-scale-diverging-pos-03: oklch(0.5 0.085073 17.5); /** scale.diverging.pos-03; generated from palette/seeds.json by generate-palette.ts. */
1566
+ --oods-viz-scale-diverging-neg-04: oklch(0.38 0.064656 197.5); /** scale.diverging.neg-04; generated from palette/seeds.json by generate-palette.ts. */
1567
+ --oods-viz-scale-diverging-pos-04: oklch(0.38 0.064656 17.5); /** scale.diverging.pos-04; generated from palette/seeds.json by generate-palette.ts. */
1568
+ --oods-viz-scale-diverging-neg-05: oklch(0.26 0.04424 197.5); /** scale.diverging.neg-05; generated from palette/seeds.json by generate-palette.ts. */
1569
+ --oods-viz-scale-diverging-pos-05: oklch(0.26 0.04424 17.5); /** scale.diverging.pos-05; generated from palette/seeds.json by generate-palette.ts. */
1570
+ --oods-viz-scale-diverging-neutral: oklch(0.86 0 265); /** scale.diverging.neutral; generated from palette/seeds.json by generate-palette.ts. */
1571
+ --oods-color-brand-b-surface-canvas: oklch(0.18 0.008 265); /** color.brand.B.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1572
+ --oods-color-brand-b-surface-raised: oklch(0.215 0.008 265); /** color.brand.B.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1573
+ --oods-color-brand-b-surface-subtle: oklch(0.25 0.008 265); /** color.brand.B.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1574
+ --oods-color-brand-b-surface-disabled: oklch(0.285 0.008 265); /** color.brand.B.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1575
+ --oods-color-brand-b-surface-backdrop: oklch(0.145 0.008 265); /** color.brand.B.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1576
+ --oods-color-brand-b-surface-inverse: oklch(0.96 0.008 265); /** color.brand.B.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1577
+ --oods-color-brand-b-surface-interactive-primary-default: oklch(0.4 0.06 210); /** color.brand.B.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1578
+ --oods-color-brand-b-surface-interactive-primary-hover: oklch(0.5 0.075 210); /** color.brand.B.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1579
+ --oods-color-brand-b-surface-interactive-primary-pressed: oklch(0.54 0.085 210); /** color.brand.B.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1580
+ --oods-color-brand-b-border-subtle: oklch(0.4 0.008 265); /** color.brand.B.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1581
+ --oods-color-brand-b-border-strong: oklch(0.56 0.008 265); /** color.brand.B.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1582
+ --oods-color-brand-b-focus-ring-outer: oklch(0.85 0.046426 210); /** color.brand.B.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1583
+ --oods-color-brand-b-focus-ring-inner: oklch(0.18 0.008 265); /** color.brand.B.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1584
+ --oods-color-brand-b-focus-text: oklch(0.82 0.047991 305); /** color.brand.B.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1585
+ --oods-color-brand-b-text-primary: oklch(0.94 0.008 265); /** color.brand.B.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1586
+ --oods-color-brand-b-text-secondary: oklch(0.83 0.008 265); /** color.brand.B.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1587
+ --oods-color-brand-b-text-muted: oklch(0.73 0.008 265); /** color.brand.B.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1588
+ --oods-color-brand-b-text-inverse: oklch(0.23 0.008 265); /** color.brand.B.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1589
+ --oods-color-brand-b-text-on-interactive: oklch(0.985 0.006988 265); /** color.brand.B.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. Foreground contrast ≥4.5:1 on its default interactive surface. */
1590
+ --oods-color-brand-b-text-disabled: oklch(0.55 0.008 265); /** color.brand.B.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1591
+ --oods-color-brand-b-text-accent: oklch(0.82 0.047991 305); /** color.brand.B.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1592
+ --oods-color-brand-b-accent-background: oklch(0.29 0.044175 305); /** color.brand.B.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1593
+ --oods-color-brand-b-accent-border: oklch(0.54 0.118771 305); /** color.brand.B.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1594
+ --oods-color-brand-b-accent-text: oklch(0.82 0.047991 305); /** color.brand.B.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1595
+ --oods-color-brand-b-status-info-surface: oklch(0.28 0.070481 245); /** color.brand.B.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1596
+ --oods-color-brand-b-status-info-border: oklch(0.45 0.106275 245); /** color.brand.B.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1597
+ --oods-color-brand-b-status-info-text: oklch(0.88 0.029459 245); /** color.brand.B.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1598
+ --oods-color-brand-b-status-info-icon: oklch(0.8 0.054126 245); /** color.brand.B.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1599
+ --oods-color-brand-b-status-success-surface: oklch(0.28 0.069224 155); /** color.brand.B.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1600
+ --oods-color-brand-b-status-success-border: oklch(0.45 0.09919 155); /** color.brand.B.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1601
+ --oods-color-brand-b-status-success-text: oklch(0.88 0.027495 155); /** color.brand.B.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1602
+ --oods-color-brand-b-status-success-icon: oklch(0.8 0.050518 155); /** color.brand.B.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1603
+ --oods-color-brand-b-status-warning-surface: oklch(0.28 0.057387 85); /** color.brand.B.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1604
+ --oods-color-brand-b-status-warning-border: oklch(0.45 0.092227 85); /** color.brand.B.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1605
+ --oods-color-brand-b-status-warning-text: oklch(0.88 0.029459 85); /** color.brand.B.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1606
+ --oods-color-brand-b-status-warning-icon: oklch(0.8 0.054126 85); /** color.brand.B.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1607
+ --oods-color-brand-b-status-critical-surface: oklch(0.28 0.092346 25); /** color.brand.B.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1608
+ --oods-color-brand-b-status-critical-border: oklch(0.45 0.12753 25); /** color.brand.B.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1609
+ --oods-color-brand-b-status-critical-text: oklch(0.88 0.035351 25); /** color.brand.B.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1610
+ --oods-color-brand-b-status-critical-icon: oklch(0.8 0.064952 25); /** color.brand.B.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1611
+ --oods-color-brand-b-status-neutral-surface: oklch(0.28 0.010261 265); /** color.brand.B.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1612
+ --oods-color-brand-b-status-neutral-border: oklch(0.45 0.01417 265); /** color.brand.B.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1613
+ --oods-color-brand-b-status-neutral-text: oklch(0.88 0.003928 265); /** color.brand.B.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1614
+ --oods-color-brand-b-status-neutral-icon: oklch(0.8 0.007217 265); /** color.brand.B.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1615
+ --oods-color-brand-b-status-accent-surface: oklch(0.28 0.076955 305); /** color.brand.B.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1616
+ --oods-color-brand-b-status-accent-border: oklch(0.45 0.106275 305); /** color.brand.B.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1617
+ --oods-color-brand-b-status-accent-text: oklch(0.88 0.029459 305); /** color.brand.B.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1618
+ --oods-color-brand-b-status-accent-icon: oklch(0.8 0.054126 305); /** color.brand.B.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1619
+ }
1620
+
1621
+ /**
1622
+ * brand B · theme dark — semantic bridge
1623
+ */
1624
+ [data-brand='B'][data-theme='dark'] {
1625
+ --theme-surface-canvas: oklch(0.18 0.008 265);
1626
+ --theme-surface-raised: oklch(0.215 0.008 265);
1627
+ --theme-surface-subtle: oklch(0.25 0.008 265);
1628
+ --theme-surface-disabled: oklch(0.285 0.008 265);
1629
+ --theme-surface-backdrop: oklch(0.145 0.008 265);
1630
+ --theme-surface-inverse: oklch(0.96 0.008 265);
1631
+ --theme-surface-interactive-primary-default: oklch(0.4 0.06 210);
1632
+ --theme-surface-interactive-primary-hover: oklch(0.5 0.075 210);
1633
+ --theme-surface-interactive-primary-pressed: oklch(0.54 0.085 210);
1634
+ --theme-border-subtle: oklch(0.4 0.008 265);
1635
+ --theme-border-strong: oklch(0.56 0.008 265);
1636
+ --theme-focus-ring-outer: oklch(0.85 0.046426 210);
1637
+ --theme-focus-ring-inner: oklch(0.18 0.008 265);
1638
+ --theme-focus-text: oklch(0.82 0.047991 305);
1639
+ --theme-text-primary: oklch(0.94 0.008 265);
1640
+ --theme-text-secondary: oklch(0.83 0.008 265);
1641
+ --theme-text-muted: oklch(0.73 0.008 265);
1642
+ --theme-text-inverse: oklch(0.23 0.008 265);
1643
+ --theme-text-accent: oklch(0.82 0.047991 305);
1644
+ --theme-text-on-interactive: oklch(0.985 0.006988 265);
1645
+ --theme-text-disabled: oklch(0.55 0.008 265);
1646
+ --theme-status-info-surface: oklch(0.28 0.070481 245);
1647
+ --theme-status-info-border: oklch(0.45 0.106275 245);
1648
+ --theme-status-info-text: oklch(0.88 0.029459 245);
1649
+ --theme-status-info-icon: oklch(0.8 0.054126 245);
1650
+ --theme-status-success-surface: oklch(0.28 0.069224 155);
1651
+ --theme-status-success-border: oklch(0.45 0.09919 155);
1652
+ --theme-status-success-text: oklch(0.88 0.027495 155);
1653
+ --theme-status-success-icon: oklch(0.8 0.050518 155);
1654
+ --theme-status-warning-surface: oklch(0.28 0.057387 85);
1655
+ --theme-status-warning-border: oklch(0.45 0.092227 85);
1656
+ --theme-status-warning-text: oklch(0.88 0.029459 85);
1657
+ --theme-status-warning-icon: oklch(0.8 0.054126 85);
1658
+ --theme-status-critical-surface: oklch(0.28 0.092346 25);
1659
+ --theme-status-critical-border: oklch(0.45 0.12753 25);
1660
+ --theme-status-critical-text: oklch(0.88 0.035351 25);
1661
+ --theme-status-critical-icon: oklch(0.8 0.064952 25);
1662
+ --theme-status-neutral-surface: oklch(0.28 0.010261 265);
1663
+ --theme-status-neutral-border: oklch(0.45 0.01417 265);
1664
+ --theme-status-neutral-text: oklch(0.88 0.003928 265);
1665
+ --theme-status-neutral-icon: oklch(0.8 0.007217 265);
1666
+ --theme-status-accent-surface: oklch(0.28 0.076955 305);
1667
+ --theme-status-accent-border: oklch(0.45 0.106275 305);
1668
+ --theme-status-accent-text: oklch(0.88 0.029459 305);
1669
+ --theme-status-accent-icon: oklch(0.8 0.054126 305);
1670
+ }
1671
+
1672
+ /**
1673
+ * brand B · theme hc — brand namespace
1674
+ */
1675
+ [data-brand='B'][data-theme='hc'] {
1676
+ --oods-viz-mark-single: CanvasText; /** mark.single; generated from palette/seeds.json by generate-palette.ts. */
1677
+ --oods-viz-scale-categorical-01: CanvasText; /** scale.categorical.01; generated from palette/seeds.json by generate-palette.ts. */
1678
+ --oods-viz-scale-categorical-02: CanvasText; /** scale.categorical.02; generated from palette/seeds.json by generate-palette.ts. */
1679
+ --oods-viz-scale-categorical-03: CanvasText; /** scale.categorical.03; generated from palette/seeds.json by generate-palette.ts. */
1680
+ --oods-viz-scale-categorical-04: CanvasText; /** scale.categorical.04; generated from palette/seeds.json by generate-palette.ts. */
1681
+ --oods-viz-scale-categorical-05: CanvasText; /** scale.categorical.05; generated from palette/seeds.json by generate-palette.ts. */
1682
+ --oods-viz-scale-categorical-06: CanvasText; /** scale.categorical.06; generated from palette/seeds.json by generate-palette.ts. */
1683
+ --oods-viz-scale-sequential-01: oklch(0.94 0 265); /** scale.sequential.01; generated from palette/seeds.json by generate-palette.ts. */
1684
+ --oods-viz-scale-sequential-02: oklch(0.84 0 265); /** scale.sequential.02; generated from palette/seeds.json by generate-palette.ts. */
1685
+ --oods-viz-scale-sequential-03: oklch(0.74 0 265); /** scale.sequential.03; generated from palette/seeds.json by generate-palette.ts. */
1686
+ --oods-viz-scale-sequential-04: oklch(0.64 0 265); /** scale.sequential.04; generated from palette/seeds.json by generate-palette.ts. */
1687
+ --oods-viz-scale-sequential-05: oklch(0.54 0 265); /** scale.sequential.05; generated from palette/seeds.json by generate-palette.ts. */
1688
+ --oods-viz-scale-sequential-06: oklch(0.44 0 265); /** scale.sequential.06; generated from palette/seeds.json by generate-palette.ts. */
1689
+ --oods-viz-scale-sequential-07: oklch(0.34 0 265); /** scale.sequential.07; generated from palette/seeds.json by generate-palette.ts. */
1690
+ --oods-viz-scale-sequential-08: oklch(0.24 0 265); /** scale.sequential.08; generated from palette/seeds.json by generate-palette.ts. */
1691
+ --oods-viz-scale-sequential-09: oklch(0.14 0 265); /** scale.sequential.09; generated from palette/seeds.json by generate-palette.ts. */
1692
+ --oods-viz-scale-diverging-neg-01: oklch(0.7 0 197.5); /** scale.diverging.neg-01; generated from palette/seeds.json by generate-palette.ts. */
1693
+ --oods-viz-scale-diverging-pos-01: oklch(0.7 0 17.5); /** scale.diverging.pos-01; generated from palette/seeds.json by generate-palette.ts. */
1694
+ --oods-viz-scale-diverging-neg-02: oklch(0.58 0 197.5); /** scale.diverging.neg-02; generated from palette/seeds.json by generate-palette.ts. */
1695
+ --oods-viz-scale-diverging-pos-02: oklch(0.58 0 17.5); /** scale.diverging.pos-02; generated from palette/seeds.json by generate-palette.ts. */
1696
+ --oods-viz-scale-diverging-neg-03: oklch(0.46 0 197.5); /** scale.diverging.neg-03; generated from palette/seeds.json by generate-palette.ts. */
1697
+ --oods-viz-scale-diverging-pos-03: oklch(0.46 0 17.5); /** scale.diverging.pos-03; generated from palette/seeds.json by generate-palette.ts. */
1698
+ --oods-viz-scale-diverging-neg-04: oklch(0.34 0 197.5); /** scale.diverging.neg-04; generated from palette/seeds.json by generate-palette.ts. */
1699
+ --oods-viz-scale-diverging-pos-04: oklch(0.34 0 17.5); /** scale.diverging.pos-04; generated from palette/seeds.json by generate-palette.ts. */
1700
+ --oods-viz-scale-diverging-neg-05: oklch(0.22 0 197.5); /** scale.diverging.neg-05; generated from palette/seeds.json by generate-palette.ts. */
1701
+ --oods-viz-scale-diverging-pos-05: oklch(0.22 0 17.5); /** scale.diverging.pos-05; generated from palette/seeds.json by generate-palette.ts. */
1702
+ --oods-viz-scale-diverging-neutral: oklch(0.82 0 265); /** scale.diverging.neutral; generated from palette/seeds.json by generate-palette.ts. */
1703
+ --oods-color-brand-b-surface-canvas: Canvas; /** color.brand.B.surface.canvas; generated from palette/seeds.json by generate-palette.ts. */
1704
+ --oods-color-brand-b-surface-raised: Canvas; /** color.brand.B.surface.raised; generated from palette/seeds.json by generate-palette.ts. */
1705
+ --oods-color-brand-b-surface-subtle: Canvas; /** color.brand.B.surface.subtle; generated from palette/seeds.json by generate-palette.ts. */
1706
+ --oods-color-brand-b-surface-disabled: Canvas; /** color.brand.B.surface.disabled; generated from palette/seeds.json by generate-palette.ts. */
1707
+ --oods-color-brand-b-surface-backdrop: Canvas; /** color.brand.B.surface.backdrop; generated from palette/seeds.json by generate-palette.ts. */
1708
+ --oods-color-brand-b-surface-inverse: CanvasText; /** color.brand.B.surface.inverse; generated from palette/seeds.json by generate-palette.ts. */
1709
+ --oods-color-brand-b-surface-interactive-primary-default: Highlight; /** color.brand.B.surface.interactive.primary.default; generated from palette/seeds.json by generate-palette.ts. */
1710
+ --oods-color-brand-b-surface-interactive-primary-hover: Highlight; /** color.brand.B.surface.interactive.primary.hover; generated from palette/seeds.json by generate-palette.ts. */
1711
+ --oods-color-brand-b-surface-interactive-primary-pressed: Highlight; /** color.brand.B.surface.interactive.primary.pressed; generated from palette/seeds.json by generate-palette.ts. */
1712
+ --oods-color-brand-b-border-subtle: CanvasText; /** color.brand.B.border.subtle; generated from palette/seeds.json by generate-palette.ts. */
1713
+ --oods-color-brand-b-border-strong: Highlight; /** color.brand.B.border.strong; generated from palette/seeds.json by generate-palette.ts. */
1714
+ --oods-color-brand-b-focus-ring-outer: Highlight; /** color.brand.B.focus.ring.outer; generated from palette/seeds.json by generate-palette.ts. */
1715
+ --oods-color-brand-b-focus-ring-inner: Canvas; /** color.brand.B.focus.ring.inner; generated from palette/seeds.json by generate-palette.ts. */
1716
+ --oods-color-brand-b-focus-text: HighlightText; /** color.brand.B.focus.text; generated from palette/seeds.json by generate-palette.ts. */
1717
+ --oods-color-brand-b-text-primary: CanvasText; /** color.brand.B.text.primary; generated from palette/seeds.json by generate-palette.ts. */
1718
+ --oods-color-brand-b-text-secondary: GrayText; /** color.brand.B.text.secondary; generated from palette/seeds.json by generate-palette.ts. */
1719
+ --oods-color-brand-b-text-muted: GrayText; /** color.brand.B.text.muted; generated from palette/seeds.json by generate-palette.ts. */
1720
+ --oods-color-brand-b-text-inverse: Canvas; /** color.brand.B.text.inverse; generated from palette/seeds.json by generate-palette.ts. */
1721
+ --oods-color-brand-b-text-on-interactive: HighlightText; /** color.brand.B.text.onInteractive; generated from palette/seeds.json by generate-palette.ts. */
1722
+ --oods-color-brand-b-text-disabled: GrayText; /** color.brand.B.text.disabled; generated from palette/seeds.json by generate-palette.ts. */
1723
+ --oods-color-brand-b-text-accent: LinkText; /** color.brand.B.text.accent; generated from palette/seeds.json by generate-palette.ts. */
1724
+ --oods-color-brand-b-accent-background: Canvas; /** color.brand.B.accent.background; generated from palette/seeds.json by generate-palette.ts. */
1725
+ --oods-color-brand-b-accent-border: Highlight; /** color.brand.B.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1726
+ --oods-color-brand-b-accent-text: HighlightText; /** color.brand.B.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1727
+ --oods-color-brand-b-status-info-surface: Canvas; /** color.brand.B.status.info.surface; generated from palette/seeds.json by generate-palette.ts. */
1728
+ --oods-color-brand-b-status-info-border: Highlight; /** color.brand.B.status.info.border; generated from palette/seeds.json by generate-palette.ts. */
1729
+ --oods-color-brand-b-status-info-text: HighlightText; /** color.brand.B.status.info.text; generated from palette/seeds.json by generate-palette.ts. */
1730
+ --oods-color-brand-b-status-info-icon: HighlightText; /** color.brand.B.status.info.icon; generated from palette/seeds.json by generate-palette.ts. */
1731
+ --oods-color-brand-b-status-success-surface: Canvas; /** color.brand.B.status.success.surface; generated from palette/seeds.json by generate-palette.ts. */
1732
+ --oods-color-brand-b-status-success-border: Highlight; /** color.brand.B.status.success.border; generated from palette/seeds.json by generate-palette.ts. */
1733
+ --oods-color-brand-b-status-success-text: HighlightText; /** color.brand.B.status.success.text; generated from palette/seeds.json by generate-palette.ts. */
1734
+ --oods-color-brand-b-status-success-icon: HighlightText; /** color.brand.B.status.success.icon; generated from palette/seeds.json by generate-palette.ts. */
1735
+ --oods-color-brand-b-status-warning-surface: Canvas; /** color.brand.B.status.warning.surface; generated from palette/seeds.json by generate-palette.ts. */
1736
+ --oods-color-brand-b-status-warning-border: Highlight; /** color.brand.B.status.warning.border; generated from palette/seeds.json by generate-palette.ts. */
1737
+ --oods-color-brand-b-status-warning-text: HighlightText; /** color.brand.B.status.warning.text; generated from palette/seeds.json by generate-palette.ts. */
1738
+ --oods-color-brand-b-status-warning-icon: HighlightText; /** color.brand.B.status.warning.icon; generated from palette/seeds.json by generate-palette.ts. */
1739
+ --oods-color-brand-b-status-critical-surface: Canvas; /** color.brand.B.status.critical.surface; generated from palette/seeds.json by generate-palette.ts. */
1740
+ --oods-color-brand-b-status-critical-border: Highlight; /** color.brand.B.status.critical.border; generated from palette/seeds.json by generate-palette.ts. */
1741
+ --oods-color-brand-b-status-critical-text: HighlightText; /** color.brand.B.status.critical.text; generated from palette/seeds.json by generate-palette.ts. */
1742
+ --oods-color-brand-b-status-critical-icon: HighlightText; /** color.brand.B.status.critical.icon; generated from palette/seeds.json by generate-palette.ts. */
1743
+ --oods-color-brand-b-status-neutral-surface: Canvas; /** color.brand.B.status.neutral.surface; generated from palette/seeds.json by generate-palette.ts. */
1744
+ --oods-color-brand-b-status-neutral-border: CanvasText; /** color.brand.B.status.neutral.border; generated from palette/seeds.json by generate-palette.ts. */
1745
+ --oods-color-brand-b-status-neutral-text: CanvasText; /** color.brand.B.status.neutral.text; generated from palette/seeds.json by generate-palette.ts. */
1746
+ --oods-color-brand-b-status-neutral-icon: CanvasText; /** color.brand.B.status.neutral.icon; generated from palette/seeds.json by generate-palette.ts. */
1747
+ --oods-color-brand-b-status-accent-surface: Canvas; /** color.brand.B.status.accent.surface; generated from palette/seeds.json by generate-palette.ts. */
1748
+ --oods-color-brand-b-status-accent-border: Highlight; /** color.brand.B.status.accent.border; generated from palette/seeds.json by generate-palette.ts. */
1749
+ --oods-color-brand-b-status-accent-text: HighlightText; /** color.brand.B.status.accent.text; generated from palette/seeds.json by generate-palette.ts. */
1750
+ --oods-color-brand-b-status-accent-icon: HighlightText; /** color.brand.B.status.accent.icon; generated from palette/seeds.json by generate-palette.ts. */
1751
+ }
1752
+
1753
+ /**
1754
+ * brand B · theme hc — semantic bridge
1755
+ */
1756
+ [data-brand='B'][data-theme='hc'] {
1757
+ --theme-surface-canvas: Canvas;
1758
+ --theme-surface-raised: Canvas;
1759
+ --theme-surface-subtle: Canvas;
1760
+ --theme-surface-disabled: Canvas;
1761
+ --theme-surface-backdrop: Canvas;
1762
+ --theme-surface-inverse: CanvasText;
1763
+ --theme-surface-interactive-primary-default: Highlight;
1764
+ --theme-surface-interactive-primary-hover: Highlight;
1765
+ --theme-surface-interactive-primary-pressed: Highlight;
1766
+ --theme-border-subtle: CanvasText;
1767
+ --theme-border-strong: Highlight;
1768
+ --theme-focus-ring-outer: Highlight;
1769
+ --theme-focus-ring-inner: Canvas;
1770
+ --theme-focus-text: HighlightText;
1771
+ --theme-text-primary: CanvasText;
1772
+ --theme-text-secondary: GrayText;
1773
+ --theme-text-muted: GrayText;
1774
+ --theme-text-inverse: Canvas;
1775
+ --theme-text-accent: LinkText;
1776
+ --theme-text-on-interactive: HighlightText;
1777
+ --theme-text-disabled: GrayText;
1778
+ --theme-status-info-surface: Canvas;
1779
+ --theme-status-info-border: Highlight;
1780
+ --theme-status-info-text: HighlightText;
1781
+ --theme-status-info-icon: HighlightText;
1782
+ --theme-status-success-surface: Canvas;
1783
+ --theme-status-success-border: Highlight;
1784
+ --theme-status-success-text: HighlightText;
1785
+ --theme-status-success-icon: HighlightText;
1786
+ --theme-status-warning-surface: Canvas;
1787
+ --theme-status-warning-border: Highlight;
1788
+ --theme-status-warning-text: HighlightText;
1789
+ --theme-status-warning-icon: HighlightText;
1790
+ --theme-status-critical-surface: Canvas;
1791
+ --theme-status-critical-border: Highlight;
1792
+ --theme-status-critical-text: HighlightText;
1793
+ --theme-status-critical-icon: HighlightText;
1794
+ --theme-status-neutral-surface: Canvas;
1795
+ --theme-status-neutral-border: CanvasText;
1796
+ --theme-status-neutral-text: CanvasText;
1797
+ --theme-status-neutral-icon: CanvasText;
1798
+ --theme-status-accent-surface: Canvas;
1799
+ --theme-status-accent-border: Highlight;
1800
+ --theme-status-accent-text: HighlightText;
1801
+ --theme-status-accent-icon: HighlightText;
1802
+ }