@humanforest/nuxt-layer 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/nuxt.config.ts CHANGED
@@ -42,8 +42,9 @@ export default defineNuxtConfig({
42
42
  { path: join(currentDir, 'packages/ui/src'), pathPrefix: false, pattern: '**/*.vue' },
43
43
  { path: join(currentDir, 'packages/charts/src'), pathPrefix: false, pattern: '**/*.vue' },
44
44
  // Presentation frames (FDeviceFrame / FBrowserFrame / FFitFrame). They stage a prototype rather
45
- // than appear in one, so they carry CC BY-SA device art which is exactly why they ship on this
46
- // private giget layer and not on public npm. See packages/frames/README.md.
45
+ // than appear in one, so they carry CC BY-SA device art. That art travels @humanforest/frames
46
+ // is on public npm and its tarball carries the 25 renders, LICENSE and ATTRIBUTION.md, which is
47
+ // the licence's own condition rather than a courtesy. See packages/frames/ATTRIBUTION.md.
47
48
  { path: join(currentDir, 'packages/frames/src'), pathPrefix: false, pattern: '**/*.vue' }
48
49
  ],
49
50
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@humanforest/nuxt-layer",
3
3
  "type": "module",
4
- "version": "0.1.2",
4
+ "version": "0.1.3",
5
5
  "description": "Forest design system as a Nuxt layer — extend it to inherit the theme, colour roles, icons and brand fonts in one line.",
6
6
  "main": "./nuxt.config.ts",
7
7
  "files": [
@@ -269,7 +269,7 @@ const hasEmpty = computed(() =>
269
269
  >{{ m.label }}</span>
270
270
  </div>
271
271
 
272
- <UTooltip :text="tip.text" :reference="tip.el" :open="tipOpen">
272
+ <UTooltip :text="tip.text" :reference="tip.el ?? undefined" :open="tipOpen">
273
273
  <div class="relative" :role="interactive ? 'group' : 'img'" :aria-label="gridLabel">
274
274
  <div class="flex" :style="{ gap: `${cellGap}px` }">
275
275
  <div v-for="(week, wi) in weeks" :key="wi" class="flex flex-col" :style="{ gap: `${cellGap}px` }">
@@ -159,7 +159,7 @@ const hideTip = () => {
159
159
  wrong the moment the segments are buttons — the buttons would be hidden from the very
160
160
  readers the role is for. Interactive, it becomes a labelled group whose children stay
161
161
  reachable, and each segment states itself. -->
162
- <UTooltip :text="tip.text" :reference="tip.el" :open="tipOpen">
162
+ <UTooltip :text="tip.text" :reference="tip.el ?? undefined" :open="tipOpen">
163
163
  <div
164
164
  class="grid w-full"
165
165
  :role="interactive ? 'group' : 'img'"
@@ -247,7 +247,9 @@ const tipOpen = ref(false);
247
247
  const tipReference = computed(() =>
248
248
  tip.value.box
249
249
  ? { getBoundingClientRect: () => new DOMRect(tip.value.box!.x, tip.value.box!.y, tip.value.box!.w, tip.value.box!.h) }
250
- : null,
250
+ // `undefined`, not `null`: UTooltip's `reference` is `ReferenceElement | undefined`, and a
251
+ // consumer's own typecheck reads this source — `null` is an error they cannot fix.
252
+ : undefined,
251
253
  );
252
254
 
253
255
  // One listener on an overlay, rather than one per dot. The grid is regular, so the dot under the
@@ -310,7 +310,7 @@ const labelled = computed<AreaDatum[]>(() => {
310
310
  package, so a class used only here is never generated and the rule silently does
311
311
  nothing. width and height stay attributes for the intrinsic size, and height:auto is
312
312
  what keeps the aspect once max-width takes over in a container narrower than the map. -->
313
- <UTooltip :text="tip.text" :reference="tip.el" :open="tipOpen">
313
+ <UTooltip :text="tip.text" :reference="tip.el ?? undefined" :open="tipOpen">
314
314
  <svg
315
315
  :width="width"
316
316
  :height="height"
@@ -32,7 +32,16 @@ const props = withDefaults(
32
32
  * this period sits above day one of the last. A shorter run simply stops early.
33
33
  */
34
34
  compare?: (number | null)[];
35
- /** Any CSS colour. Defaults to the current text colour, so it inherits the tile's intent. */
35
+ /**
36
+ * Any CSS colour. Defaults to the brand accent, which flips with the mode on its own.
37
+ *
38
+ * ★ `currentColor` WAS THE DEFAULT AND IT WAS WRONG. A tile does not pass its intent down to the
39
+ * `visual` slot — FKpi colours `metric` and `delta`, never the root — so inheriting there picks
40
+ * up body ink whatever the tile's status, and a sparkline dropped on any surface renders in the
41
+ * surrounding text colour. That shipped: one chart in near-black beside four in Forest green.
42
+ * Every call site in this repo already passed `var(--ui-primary)` by hand, which is the tell.
43
+ * Pass `currentColor` explicitly for one set inline in a sentence, where inking as text is right.
44
+ */
36
45
  color?: string;
37
46
  /** The comparison line's colour. Defaults to the series colour at low opacity. */
38
47
  compareColor?: string;
@@ -62,7 +71,7 @@ const props = withDefaults(
62
71
  */
63
72
  mark?: 'line' | 'bar';
64
73
  }>(),
65
- { height: 32, color: 'currentColor', area: false, endpoint: false, curve: true, mark: 'line', compare: undefined, compareColor: undefined },
74
+ { height: 32, color: 'var(--ui-primary)', area: false, endpoint: false, curve: true, mark: 'line', compare: undefined, compareColor: undefined },
66
75
  );
67
76
 
68
77
  if (import.meta.env.DEV) {
@@ -109,7 +109,7 @@ const hideTip = () => {
109
109
  <div class="flex w-full flex-col gap-2">
110
110
  <div class="flex items-center gap-3">
111
111
  <span v-if="label && showChrome" class="type-label shrink-0 text-default">{{ label }}</span>
112
- <UTooltip :text="tip.text" :reference="tip.el" :open="tipOpen">
112
+ <UTooltip :text="tip.text" :reference="tip.el ?? undefined" :open="tipOpen">
113
113
  <div
114
114
  class="flex min-w-0 flex-1"
115
115
  :role="interactive ? 'group' : 'img'"
@@ -23,7 +23,7 @@
23
23
  * Button: keycap voice — rounder (lg), 2px edge, deeper lip with a bigger hover lift (rest −3px,
24
24
  * hover −5px; web md is −2/−3). Labels stay GT Haptik: Mohr is for headlines — the italic-Mohr
25
25
  * button label is the MOBILE voice, not marketing's. The base classes below re-voice the
26
- * edge/lip-bearing rungs (keycap, pad, framed, gloss, subtle, outline — they read --btn-edge /
26
+ * edge/lip-bearing rungs (keycap, pad, framed, subtle, outline — they read --btn-edge /
27
27
  * --btn-y*); the flat rungs (solid, soft, ghost, link) read neither and share the restrained web
28
28
  * rendering — bold delivery rides on the keycap/lg prop default (CONTEXTS-SPEC.md §6).
29
29
  *
@@ -10,6 +10,7 @@
10
10
  // where the is/is-any-of promotion lives.
11
11
  import { computed, onMounted, ref, shallowRef } from 'vue';
12
12
  import { CalendarDate } from '@internationalized/date';
13
+ import type { DateRange, DateValue } from 'reka-ui';
13
14
  import { filterTheme, type FilterSlot } from './filter.theme';
14
15
  import { OPERATOR_LABEL, operatorsFor, type FilterSchema, type Operator } from './filterSchema';
15
16
  import { isComplete, summariseClause, type Clause, type RelativeUnit } from './filterClause';
@@ -149,18 +150,35 @@ const onDateOpen = (open: boolean) => {
149
150
  if (open) dateKey.value += 1;
150
151
  };
151
152
 
152
- const onRangePicked = (range: { start?: CalendarDate; end?: CalendarDate } | undefined) => {
153
- if (!range?.start || !range.end) return;
153
+ /*
154
+ THESE HANDLERS TAKE WHAT UCalendar EMITS, NOT WHAT THIS COMPONENT WANTS. They used to be typed
155
+ as the narrow shape the body reads — `{ start?: CalendarDate; end?: CalendarDate }` — which is a
156
+ SUBSET of the emitted `DateRange | null`, and a handler cannot be narrower than its emit. It type-
157
+ checked in this repo (nothing here typechecks packages/ui) and failed in every consumer's own
158
+ `vue-tsc`, against source they cannot edit.
159
+
160
+ So the parameter is the emitted type and the narrowing is explicit. `instanceof` rather than a
161
+ cast: the calendar can hand back a CalendarDateTime or a ZonedDateTime, and calendarToIso is only
162
+ correct for a plain date.
163
+ */
164
+ const asCalendarDate = (value: unknown): CalendarDate | null =>
165
+ value instanceof CalendarDate ? value : null;
166
+
167
+ const onRangePicked = (range: DateRange | null | undefined) => {
168
+ const start = asCalendarDate(range?.start);
169
+ const end = asCalendarDate(range?.end);
170
+ if (!start || !end) return;
154
171
  emit('update', {
155
- value: [calendarToIso(range.start), calendarToIso(range.end)] as [string | null, string | null],
172
+ value: [calendarToIso(start), calendarToIso(end)] as [string | null, string | null],
156
173
  });
157
174
  dateOpen.value = false;
158
175
  };
159
176
 
160
177
  /** A single date is complete the moment it is picked, so the calendar closes behind it. */
161
- const onDatePicked = (picked: CalendarDate | undefined) => {
162
- if (!picked) return;
163
- emit('update', { value: calendarToIso(picked) });
178
+ const onDatePicked = (picked: DateValue | DateValue[] | DateRange | null | undefined) => {
179
+ const date = asCalendarDate(picked);
180
+ if (!date) return;
181
+ emit('update', { value: calendarToIso(date) });
164
182
  dateOpen.value = false;
165
183
  };
166
184
 
@@ -9,7 +9,7 @@
9
9
  // registers itself, spans four subgrid rows, and may become a tab or a toggle.
10
10
  import { computed, inject, onBeforeUnmount, onMounted, useId, useSlots } from 'vue';
11
11
  import { kpiTheme, KPI_GROUP_KEY, type KpiSlot } from './kpi.theme';
12
- import { formatMetric, type KpiFormat } from './kpiFormat';
12
+ import { formatMetric, joinCaption, type KpiFormat } from './kpiFormat';
13
13
  import { resolveDelta, type KpiDelta, type KpiSentiment } from './kpiDelta';
14
14
 
15
15
  const props = withDefaults(
@@ -117,16 +117,6 @@ const delta = computed(() =>
117
117
  }),
118
118
  );
119
119
 
120
- // Period first, then the baseline it was measured against — "last 7 days · vs previous 7 days".
121
- // The other order reads as one repeated phrase.
122
- const captionParts = computed(() =>
123
- [
124
- props.period,
125
- props.delta ? `vs ${props.delta.comparisonLabel}` : undefined,
126
- props.partial ? 'Period in progress' : undefined,
127
- ].filter(Boolean),
128
- );
129
-
130
120
  const asOfText = computed(() => {
131
121
  if (!props.asOf) return undefined;
132
122
  const d = props.asOf instanceof Date ? props.asOf : new Date(props.asOf);
@@ -135,6 +125,21 @@ const asOfText = computed(() => {
135
125
  : `Updated ${new Intl.DateTimeFormat(props.locale ?? 'en-GB', { timeStyle: 'short' }).format(d)}`;
136
126
  });
137
127
 
128
+ // Period first, then the baseline it was measured against — "last 7 days · vs previous 7 days".
129
+ // The other order reads as one repeated phrase. `asOf` joins the SAME run so it gets a separator for
130
+ // free; the caveat is the only part kept as its own element, because aria-describedby needs an id to
131
+ // point at and a run of text cannot carry one.
132
+ const captionLead = computed(() =>
133
+ isBlank.value && props.reason
134
+ ? REASON_COPY[props.reason]
135
+ : joinCaption(
136
+ props.period,
137
+ props.delta && `vs ${props.delta.comparisonLabel}`,
138
+ props.partial && 'Period in progress',
139
+ asOfText.value,
140
+ ),
141
+ );
142
+
138
143
  const caveatId = computed(() => (props.caveat ? `${uid}-caveat` : undefined));
139
144
 
140
145
  const styles = computed(() =>
@@ -235,12 +240,8 @@ const onKeydown = (e: KeyboardEvent) => {
235
240
  </dd>
236
241
 
237
242
  <p :class="cls('caption')">
238
- <slot name="caption">
239
- <span v-if="isBlank && reason">{{ REASON_COPY[reason] }}</span>
240
- <span v-else>{{ captionParts.join(' · ') }}</span>
241
- </slot>
242
- <span v-if="asOfText" class="ms-1">{{ asOfText }}</span>
243
- <span v-if="caveat" :id="caveatId" class="ms-1">{{ caveat }}</span>
243
+ <slot name="caption">{{ captionLead }}</slot>
244
+ <span v-if="caveat" :id="caveatId">{{ captionLead ? ' · ' : '' }}{{ caveat }}</span>
244
245
  </p>
245
246
 
246
247
  <div v-if="$slots.visual" :class="cls('visual')"><slot name="visual" /></div>
@@ -133,7 +133,7 @@ const gridStyle = computed(() =>
133
133
  :aria-orientation="selectable && !multiple ? orientation : undefined"
134
134
  class="grid grid-rows-[auto_auto_auto_auto] items-stretch"
135
135
  :class="[
136
- divided ? 'gap-px bg-[var(--ui-border)]' : 'gap-4',
136
+ divided ? 'gap-px' : 'gap-4',
137
137
  // Ring outset, not inset: `divided` rules are this element's background through 1px gaps,
138
138
  // so the tiles sit flush to its border box and an inset stroke lands on them.
139
139
  divided && !flush && 'overflow-hidden rounded-lg ring-1 ring-default',
@@ -143,13 +143,21 @@ const gridStyle = computed(() =>
143
143
  >
144
144
  <!-- The dl is display:contents so the tiles join the grid directly, which also means it is
145
145
  the group's ONLY element child — a `divide-x` on the grid would target the dl and never
146
- reach a tile. The hairlines are the grid's own 1px gaps showing the container's colour
147
- through, which is the one treatment that stays correct when the row wraps: a `divide-*`
148
- rule would draw a stray edge on the first tile of every wrapped row.
146
+ reach a tile. A `divide-*` rule is wrong for a second reason too: it would draw a stray
147
+ edge on the first tile of every wrapped row.
149
148
 
150
- That colour is --ui-border, not bg-accented: these gaps read as the same rules as the
151
- ring around the row, and accented sits several steps lighter, so the separators inside
152
- the group came out brighter than the border enclosing them. -->
149
+ ★★ THE HAIRLINES ARE THE TILES' OWN RINGS MEETING IN THE 1px GAP, not this element's
150
+ background showing through. They were the background until a four-tile group on three
151
+ columns painted the two leftover cells as a filled grey slab a ~460x130px rectangle at
152
+ every width from 768 to 1100px, iPad landscape included. A background cannot tell a seam
153
+ from an empty cell; a ring on the tile only exists where a tile does.
154
+
155
+ Tailwind's ring is an OUTSET box-shadow, so two neighbours each cast 1px into the same
156
+ 1px gap and the seam is the same ink and the same geometry as before — `ring-default` is
157
+ --ui-border, which is what this comment used to insist the colour had to be: the gaps read
158
+ as the same rules as the ring around the row, where `bg-accented` sits several steps
159
+ lighter and came out brighter than the border enclosing it. `overflow-hidden` clips the
160
+ outer tiles' rings, so the perimeter stays the group's own single ring and never doubles. -->
153
161
  <dl class="contents">
154
162
  <slot />
155
163
  </dl>
@@ -54,10 +54,14 @@ export const kpiTheme = tv({
54
54
  // radius. Keeping the radius would round each segment's fill inside a joined strip and leave
55
55
  // the selected tile's underline looking detached at both ends; the group's own container
56
56
  // supplies the outer corners.
57
- // The tile stays OPAQUE: the group's hairlines are its own 1px grid gaps showing the container
58
- // colour through, so a transparent tile would leak that colour across the whole strip.
57
+ // The tile stays OPAQUE, and it draws its OWN seam: `ring-1 ring-default` is an outset
58
+ // box-shadow, so two neighbours each cast 1px into the group's 1px gap and meet as one hairline.
59
+ // The group used to paint --ui-border edge to edge and let the gaps show it through, which drew
60
+ // the same seam but could not tell a seam from an empty grid cell — four tiles on three columns
61
+ // left the two leftovers as a filled grey slab. Ink that lives on the tile exists only where a
62
+ // tile does. See FKpiGroup.vue.
59
63
  naked: {
60
- true: { root: 'forest-kpi-joined bg-default shadow-none ring-0' },
64
+ true: { root: 'forest-kpi-joined bg-default shadow-none ring-1 ring-default' },
61
65
  },
62
66
  /**
63
67
  * How the `visual` slot meets the card. Two graphics, opposite needs, and the slot used to
@@ -133,7 +137,11 @@ export const kpiTheme = tv({
133
137
  naked: true,
134
138
  selected: true,
135
139
  class: {
136
- root: 'ring-0 bg-elevated after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-primary',
140
+ // ⚠ `ring-1 ring-default` AND NOT `ring-0`: the seam now lives on the tile, so cancelling
141
+ // the ring outright would punch a gap in the strip's hairlines around the selected segment.
142
+ // Both halves are needed — a bare `ring-1` loses the width fight but keeps `selected`'s
143
+ // primary colour, leaving a coloured seam.
144
+ root: 'ring-1 ring-default bg-elevated after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-primary',
137
145
  },
138
146
  },
139
147
  // Surface-painting reaches for the tinted card variants. There is no red accent, so a critical
@@ -70,3 +70,17 @@ export const formatPercent = (
70
70
  minimumFractionDigits: 0,
71
71
  maximumFractionDigits: precision,
72
72
  }).format(fraction);
73
+
74
+ /**
75
+ * The caption's parts in reading order, joined by the tile's separator.
76
+ *
77
+ * ★★ EVERY PART GOES THROUGH HERE, which is the point. FKpi used to join three parts with ' · ' and
78
+ * then append `asOf` and `caveat` as bare sibling spans carrying only a 4px margin — so a tile given
79
+ * both a comparison label and a caveat rendered "vs previous quarterVerified with our partners", with
80
+ * no separator at all. The margin was never the fix: Vue's whitespace condense emits no text node
81
+ * between sibling spans, so `textContent` ran the words together and assistive tech read one word.
82
+ *
83
+ * Falsy parts drop out, so a tile carrying one part gets no stray leading or trailing dot.
84
+ */
85
+ export const joinCaption = (...parts: (string | false | null | undefined)[]): string =>
86
+ parts.filter((p): p is string => !!p).join(' · ');
@@ -9,7 +9,7 @@
9
9
  //
10
10
  // Variants: lockup (lead + keycap) · badge (keycap alone) · icon (square, first letter) · joined
11
11
  // (lead + sub-brand butted on as one word).
12
- import { computed } from 'vue';
12
+ import { computed, useId } from 'vue';
13
13
  import { WORDMARK_PATHS, WORDMARK_W, WORDMARK_H } from '../../../tokens/src/logo';
14
14
  import { setWord, runInk } from '../../../tokens/src/glyphs';
15
15
  import {
@@ -91,7 +91,14 @@ const rect = computed(() => {
91
91
 
92
92
  // One clip per instance trims the flat ascenders. The id must be unique per mark — two lockups on a
93
93
  // page would otherwise share a def, and a downloaded file has to carry its own.
94
- const clipId = `fsub-cut-${++uid}`;
94
+ //
95
+ // ★★ useId(), NOT A MODULE COUNTER. Module state lives for the whole SSR process, so request N emits
96
+ // `fsub-cut-N` while a freshly hydrating client always starts at 1. The server's markup is
97
+ // internally consistent, so the mark looks right and only a hydration warning fires — but the client
98
+ // vnode holds an id the document does not, and the first `variant` change to mount a new glyph group
99
+ // points it at `url(#fsub-cut-1)`. That def does not exist, the ascender trim silently stops, and
100
+ // GT's flat ascenders come back — which is the entire reason this clip exists.
101
+ const clipId = `fsub-cut-${useId()}`;
95
102
  // the trim line: the t's ink top, which is where the drawn f stops
96
103
  const CUT_Y = setWord('t', { font: 'gt', size: SUBLOGO_GT_SIZE, baseline: SUBLOGO_BASELINE }).cutY;
97
104
 
@@ -127,11 +134,6 @@ const vars = computed(() => ({
127
134
  const label = computed(() => `${props.lead} ${word.value}`);
128
135
  </script>
129
136
 
130
- <script lang="ts">
131
- // module-scoped so every instance on a page gets its own clip id
132
- let uid = 0;
133
- </script>
134
-
135
137
  <template>
136
138
  <svg
137
139
  class="fsub" :viewBox="viewBox" :style="vars"
@@ -1,13 +1,3 @@
1
- <script lang="ts">
2
- /**
3
- * ⚠ MODULE SCOPE, deliberately. `<script setup>` runs once PER INSTANCE, so a counter declared there resets
4
- * to the same value for every mark — every instance would take the id `fvm1`, and the gradient collision this
5
- * prefix exists to prevent would be back with extra steps.
6
- */
7
- let seq = 0;
8
- const nextUid = () => `fvm${(seq += 1)}`;
9
- </script>
10
-
11
1
  <script setup lang="ts">
12
2
  // FVehicleMark — one vehicle, drawn from its facts. NOT a map component.
13
3
  //
@@ -37,7 +27,7 @@ const nextUid = () => `fvm${(seq += 1)}`;
37
27
  // <FMarker :lng-lat="v.at" selected interactive><FVehicleMark v-bind="v.facts" /></FMarker>
38
28
  // Usage anywhere else:
39
29
  // <FVehicleMark state="FUNCTIONAL" battery="LOW" :size="28" />
40
- import { computed } from 'vue';
30
+ import { computed, useId } from 'vue';
41
31
  import { MARKER_SVG } from './markerAsset';
42
32
  import manifest from '../../icons/forest/map/manifest.json';
43
33
  import {
@@ -114,7 +104,11 @@ const colour = (t: string) => resolveMapColor(`var(${t})`);
114
104
  * icon is its own document, and broken here: two of these on one page would both resolve `url(#inUse)` to the
115
105
  * first one's stops, so a list of vehicles would show the first row's gradient on every row.
116
106
  */
117
- const uid = nextUid();
107
+ // ★★ useId() AND NOT A MODULE COUNTER. A module-scope counter does give every instance a distinct
108
+ // id, which is what this needs — but it never resets under SSR, so the server writes `fvm7` into the
109
+ // v-html'd asset where the hydrating client generates `fvm1`. useId() is stable across the pair and
110
+ // still unique per instance, which is the whole requirement.
111
+ const uid = useId();
118
112
 
119
113
  const artwork = computed(() => {
120
114
  void tokenMode.value;
@@ -98,22 +98,29 @@ export const SOLID = [
98
98
  FOCUS,
99
99
  ].join(' ');
100
100
 
101
- export const GLOSS = [
102
- // Web-only "gloss" emphasis framed's lip outline with a line of light ONE pixel inside it along the
103
- // top (the shine sits below the border, over the face — never on the border itself). The line is the
104
- // face's OWN colour lightened (oklch l + --btn-shine-l, default 0.25), not white, so the sheen is
105
- // on-brand per intent and works in both modes. Neutral's near-black face needs a bigger lift to read
106
- // (PAL_NEUTRAL bumps --btn-shine-l to 0.5 in light; dark stays 0.25 its near-white face would clip).
107
- // One box-shadow, two inset layers: layer 1 (FRONT) the lip outline, --btn-edge
108
- // wide; layer 2 (BEHIND) a light band offset calc(edge + 1px), so the outline covers its top `edge` px
109
- // and only the next 1px shows. Both inset → footprint identical to framed.
110
- 'border-0 text-[var(--btn-ink)] bg-[var(--btn-face)]',
111
- 'shadow-[inset_0_0_0_var(--btn-edge,1px)_var(--btn-lip),inset_0_calc(var(--btn-edge,1px)_+_1px)_0_0_oklch(from_var(--btn-face)_calc(l_+_var(--btn-shine-l,0.25))_c_h)]',
112
- // hover/press shift --btn-face itself (not just bg), so BOTH the fill and the shine (derived from
113
- // --btn-face) track the current state the line stays +0.25 lighter than whatever face is showing.
114
- 'hover:[--btn-face:var(--btn-hover)] active:[--btn-face:var(--btn-press)]',
115
- FOCUS,
116
- ].join(' ');
101
+ /*
102
+ GLOSS IS GONE, AND IT IS WORTH KNOWING WHY BEFORE BRINGING IT BACK.
103
+
104
+ It was a web-only emphasis: framed's lip outline with a line of light one pixel inside the top,
105
+ drawn as the face's OWN colour lightened in-gamut
106
+ oklch(from var(--btn-face) calc(l + var(--btn-shine-l,0.25)) c h)
107
+ so the sheen stayed on-brand per intent and worked in both modes. Switched off in d6e99218
108
+ (2026-07-08) and never switched back, which left two faults standing:
109
+
110
+ · `variant: { gloss: '' }` stayed in the enum with no compound to style it, so
111
+ <UButton variant="gloss"> type-checked, rendered, and looked like nothing at all.
112
+ · it was the ONLY relative-colour construct in the shipped surface, and postcss-calc's Jison
113
+ grammar has no term for a bare channel keyword so every consumer's production build logged
114
+ Lexical error on line 1: Unrecognized text … l + var(--btn-shine-l,.25)
115
+ The declaration survived into the CSS, so it was cosmetic; it also fails any build treating
116
+ warnings as errors, and it fired for everyone.
117
+
118
+ REVIVING IT: the arithmetic is load-bearing and must stay channel arithmetic — `color-mix(… white)`
119
+ drags chroma to zero and desaturates the line. To keep the warning away, write the sum as
120
+ `max(l + var(--btn-shine-l,0.25), 0)`: measured identical to the last decimal in Chromium across a
121
+ dark face, neutral-900 at shine 0.5 and neutral-50, because L can never go under 0 — it simply
122
+ drops the `calc` token the lexer chokes on.
123
+ */
117
124
 
118
125
  export const SUBTLE = [
119
126
  // A ramp-pinned INSET RING (a box-shadow, not a border → no added height) over a plain surface fill.
@@ -184,7 +191,10 @@ export const PAL_SECONDARY = '[--btn-face:var(--warm-500)] dark:[--btn-face:var(
184
191
  // outline hover edge stays monochrome instead of leaking brand green via the shared --btn-ring.
185
192
  // Rest --btn-line is 300/700 (not the ramp's 400/600) to match UInput's resting border
186
193
  // (ring-accented → --ui-border-accented = neutral-300/700), so a neutral button sits flush with a field.
187
- export const PAL_NEUTRAL = '[--btn-face:var(--neutral-900)] dark:[--btn-face:var(--neutral-50)] [--btn-hover:var(--neutral-800)] dark:[--btn-hover:var(--neutral-100)] [--btn-press:var(--neutral-700)] dark:[--btn-press:var(--neutral-200)] [--btn-lip:var(--neutral-400)] dark:[--btn-lip:var(--neutral-300)] [--btn-ring:var(--neutral-500)] [--btn-t1:var(--neutral-50)] dark:[--btn-t1:var(--neutral-950)] [--btn-t2:var(--neutral-100)] dark:[--btn-t2:var(--neutral-900)] [--btn-t3:var(--neutral-200)] dark:[--btn-t3:var(--neutral-800)] [--btn-line:var(--neutral-300)] dark:[--btn-line:var(--neutral-700)] [--btn-text:var(--neutral-900)] dark:[--btn-text:var(--neutral-100)] [--btn-ink:var(--neutral-0)] dark:[--btn-ink:var(--neutral-900)] [--btn-shine-l:0.5] dark:[--btn-shine-l:0.25]';
194
+ // --btn-shine-l went with GLOSS: neutral's near-black face needed a bigger lift than 0.25 to read,
195
+ // and nothing reads the variable now. It was still emitting two dead utility classes into every
196
+ // consumer's stylesheet. Restore both halves (0.5 light / 0.25 dark) if gloss ever comes back.
197
+ export const PAL_NEUTRAL = '[--btn-face:var(--neutral-900)] dark:[--btn-face:var(--neutral-50)] [--btn-hover:var(--neutral-800)] dark:[--btn-hover:var(--neutral-100)] [--btn-press:var(--neutral-700)] dark:[--btn-press:var(--neutral-200)] [--btn-lip:var(--neutral-400)] dark:[--btn-lip:var(--neutral-300)] [--btn-ring:var(--neutral-500)] [--btn-t1:var(--neutral-50)] dark:[--btn-t1:var(--neutral-950)] [--btn-t2:var(--neutral-100)] dark:[--btn-t2:var(--neutral-900)] [--btn-t3:var(--neutral-200)] dark:[--btn-t3:var(--neutral-800)] [--btn-line:var(--neutral-300)] dark:[--btn-line:var(--neutral-700)] [--btn-text:var(--neutral-900)] dark:[--btn-text:var(--neutral-100)] [--btn-ink:var(--neutral-0)] dark:[--btn-ink:var(--neutral-900)]';
188
198
 
189
199
  // All seven intents share the colour-keyed solid/flat/outline/soft/ghost classes.
190
200
  export const ALL = ['primary', 'secondary', 'success', 'info', 'warning', 'error', 'neutral'];
@@ -70,7 +70,6 @@ export const buttonTheme = {
70
70
  keycap: '',
71
71
  pad: '',
72
72
  framed: '',
73
- gloss: '',
74
73
  subtle: '',
75
74
  link: '',
76
75
  },
@@ -114,7 +113,6 @@ export const buttonTheme = {
114
113
  ...emphasis('keycap', KEYCAP),
115
114
  ...emphasis('pad', PAD),
116
115
  ...emphasis('framed', FRAMED),
117
- // ...emphasis('gloss', GLOSS),
118
116
  ...emphasis('solid', SOLID),
119
117
  ...emphasis('subtle', SUBTLE),
120
118
  ...emphasis('soft', SOFT),
package/theme.gen.json CHANGED
@@ -1 +1 @@
1
- {"ui":{"accordion":{"slots":{"trigger":"font-bold focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]","body":"text-muted","content":"data-[state=open]:animate-[accordion-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[accordion-up_var(--motion-slow)_var(--motion-ease-out)]","trailingIcon":"duration-(--motion-fast) ease-(--motion-ease-out)"}},"alert":{"slots":{"title":"font-bold"}},"authForm":{"slots":{"title":"type-title","description":"type-body"}},"avatar":{"slots":{"root":"font-bold","fallback":"font-bold"}},"avatarGroup":{},"badge":{"slots":{"base":"rounded-sm font-bold uppercase tracking-wide"},"variants":{"size":{"xs":{"base":"rounded-xs coarse:text-[10px]/3 coarse:px-1.5 coarse:py-1"},"sm":{"base":"rounded-xs coarse:text-xs coarse:px-2 coarse:rounded-sm","leadingIcon":"coarse:size-4","trailingIcon":"coarse:size-4"},"md":{"base":"rounded-sm coarse:text-sm coarse:gap-1.5","leadingIcon":"coarse:size-5","trailingIcon":"coarse:size-5"},"lg":{"base":"rounded-sm coarse:text-base coarse:px-2.5","leadingIcon":"coarse:size-6","trailingIcon":"coarse:size-6"},"xl":{"base":"rounded-sm"}}},"defaultVariants":{"variant":"subtle"}},"banner":{"slots":{"left":"lg:flex-none","center":"flex-1","title":"font-bold me-auto","right":"lg:flex-none"}},"breadcrumb":{},"button":{"slots":{"base":"font-bold transition-[transform,box-shadow,background-color,border-color,color] duration-(--motion-fast) motion-reduce:transition-[background-color,border-color,color]"},"variants":{"color":{"primary":"[--btn-face:var(--forest-500)] dark:[--btn-face:var(--forest-400)] [--btn-hover:var(--forest-600)] dark:[--btn-hover:var(--forest-500)] [--btn-press:var(--forest-700)] dark:[--btn-press:var(--forest-600)] [--btn-lip:var(--forest-700)] dark:[--btn-lip:var(--forest-600)] [--btn-ring:var(--forest-500)] [--btn-t1:var(--forest-100)] dark:[--btn-t1:var(--forest-900)] [--btn-t2:var(--forest-200)] dark:[--btn-t2:var(--forest-800)] [--btn-t3:var(--forest-300)] dark:[--btn-t3:var(--forest-700)] [--btn-line:var(--forest-400)] dark:[--btn-line:var(--forest-600)] [--btn-text:var(--forest-700)] dark:[--btn-text:var(--forest-300)] [--btn-ink:var(--forest-0)] dark:[--btn-ink:var(--forest-950)]","success":"[--btn-face:var(--forest-500)] dark:[--btn-face:var(--forest-400)] [--btn-hover:var(--forest-600)] dark:[--btn-hover:var(--forest-500)] [--btn-press:var(--forest-700)] dark:[--btn-press:var(--forest-600)] [--btn-lip:var(--forest-700)] dark:[--btn-lip:var(--forest-600)] [--btn-ring:var(--forest-500)] [--btn-t1:var(--forest-100)] dark:[--btn-t1:var(--forest-900)] [--btn-t2:var(--forest-200)] dark:[--btn-t2:var(--forest-800)] [--btn-t3:var(--forest-300)] dark:[--btn-t3:var(--forest-700)] [--btn-line:var(--forest-400)] dark:[--btn-line:var(--forest-600)] [--btn-text:var(--forest-700)] dark:[--btn-text:var(--forest-300)] [--btn-ink:var(--forest-0)] dark:[--btn-ink:var(--forest-950)]","info":"[--btn-face:var(--river-500)] dark:[--btn-face:var(--river-400)] [--btn-hover:var(--river-600)] dark:[--btn-hover:var(--river-500)] [--btn-press:var(--river-700)] dark:[--btn-press:var(--river-600)] [--btn-lip:var(--river-700)] dark:[--btn-lip:var(--river-600)] [--btn-ring:var(--river-500)] [--btn-t1:var(--river-100)] dark:[--btn-t1:var(--river-900)] [--btn-t2:var(--river-200)] dark:[--btn-t2:var(--river-800)] [--btn-t3:var(--river-300)] dark:[--btn-t3:var(--river-700)] [--btn-line:var(--river-400)] dark:[--btn-line:var(--river-600)] [--btn-text:var(--river-700)] dark:[--btn-text:var(--river-300)] [--btn-ink:var(--river-0)] dark:[--btn-ink:var(--river-950)]","error":"[--btn-face:var(--maple-500)] dark:[--btn-face:var(--maple-400)] [--btn-hover:var(--maple-600)] dark:[--btn-hover:var(--maple-500)] [--btn-press:var(--maple-700)] dark:[--btn-press:var(--maple-600)] [--btn-lip:var(--maple-700)] dark:[--btn-lip:var(--maple-600)] [--btn-ring:var(--maple-500)] [--btn-t1:var(--maple-100)] dark:[--btn-t1:var(--maple-900)] [--btn-t2:var(--maple-200)] dark:[--btn-t2:var(--maple-800)] [--btn-t3:var(--maple-300)] dark:[--btn-t3:var(--maple-700)] [--btn-line:var(--maple-400)] dark:[--btn-line:var(--maple-600)] [--btn-text:var(--maple-700)] dark:[--btn-text:var(--maple-300)] [--btn-ink:var(--maple-0)] dark:[--btn-ink:var(--maple-950)]","warning":"[--btn-face:var(--amber-300)] [--btn-hover:var(--amber-400)] [--btn-press:var(--amber-500)] [--btn-lip:var(--amber-600)] [--btn-ring:var(--amber-500)] [--btn-t1:var(--amber-100)] dark:[--btn-t1:var(--amber-900)] [--btn-t2:var(--amber-200)] dark:[--btn-t2:var(--amber-800)] [--btn-t3:var(--amber-300)] dark:[--btn-t3:var(--amber-700)] [--btn-line:var(--amber-400)] dark:[--btn-line:var(--amber-600)] [--btn-text:var(--amber-700)] dark:[--btn-text:var(--amber-300)] [--btn-ink:var(--amber-950)]","secondary":"[--btn-face:var(--warm-500)] dark:[--btn-face:var(--warm-400)] [--btn-hover:var(--warm-600)] dark:[--btn-hover:var(--warm-500)] [--btn-press:var(--warm-700)] dark:[--btn-press:var(--warm-600)] [--btn-lip:var(--warm-700)] dark:[--btn-lip:var(--warm-600)] [--btn-ring:var(--warm-500)] [--btn-t1:var(--warm-100)] dark:[--btn-t1:var(--warm-900)] [--btn-t2:var(--warm-200)] dark:[--btn-t2:var(--warm-800)] [--btn-t3:var(--warm-300)] dark:[--btn-t3:var(--warm-700)] [--btn-line:var(--warm-400)] dark:[--btn-line:var(--warm-600)] [--btn-text:var(--warm-700)] dark:[--btn-text:var(--warm-300)] [--btn-ink:var(--warm-0)] dark:[--btn-ink:var(--warm-950)]","neutral":"[--btn-face:var(--neutral-900)] dark:[--btn-face:var(--neutral-50)] [--btn-hover:var(--neutral-800)] dark:[--btn-hover:var(--neutral-100)] [--btn-press:var(--neutral-700)] dark:[--btn-press:var(--neutral-200)] [--btn-lip:var(--neutral-400)] dark:[--btn-lip:var(--neutral-300)] [--btn-ring:var(--neutral-500)] [--btn-t1:var(--neutral-50)] dark:[--btn-t1:var(--neutral-950)] [--btn-t2:var(--neutral-100)] dark:[--btn-t2:var(--neutral-900)] [--btn-t3:var(--neutral-200)] dark:[--btn-t3:var(--neutral-800)] [--btn-line:var(--neutral-300)] dark:[--btn-line:var(--neutral-700)] [--btn-text:var(--neutral-900)] dark:[--btn-text:var(--neutral-100)] [--btn-ink:var(--neutral-0)] dark:[--btn-ink:var(--neutral-900)] [--btn-shine-l:0.5] dark:[--btn-shine-l:0.25]"},"variant":{"keycap":"","pad":"","framed":"","gloss":"","subtle":"","link":""},"size":{"xs":{"base":"min-h-6 px-2.5 rounded-sm touch:min-h-7 [--btn-y:-1px] [--btn-yi:1px] [--btn-y-h:-2px] [--btn-yhi:2px] coarse:[--btn-y:-2px] coarse:[--btn-yi:2px] coarse:[--btn-y-h:-3px] coarse:[--btn-yhi:3px]"},"sm":{"base":"min-h-7 px-3 rounded-md touch:min-h-9 touch:text-sm [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"min-h-8 px-3.5 rounded-md touch:min-h-10 [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px] coarse:[--btn-y:-3px] coarse:[--btn-yi:3px] coarse:[--btn-y-h:-4px] coarse:[--btn-yhi:4px]"},"lg":{"base":"min-h-9 px-4 rounded-lg touch:min-h-11 touch:text-base [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"min-h-10 px-4 rounded-lg touch:min-h-13 touch:text-lg [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"color":"primary","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"success","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"info","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"warning","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"error","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"primary","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"success","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"info","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"warning","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"error","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"primary","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"square":true,"class":"justify-center aspect-square touch:px-0 touch:py-0"}],"defaultVariants":{"color":"primary","variant":"solid","size":"md"}},"calendar":{"slots":{"root":"rounded-xl border border-default bg-elevated/30 p-4 inline-block","headingLabel":"font-bold tracking-tight text-highlighted","cellTrigger":"focus-visible:ring-2 focus-visible:ring-offset-2 focus:outline-none data-today:font-bold"}},"card":{"slots":{"root":"rounded-xl forest-card","body":"sm:p-4","header":"sm:px-4","footer":"sm:px-4","title":"[font-family:var(--fx-title-family)] [text-transform:var(--fx-title-transform)]"},"variants":{"variant":{"soft":{"root":"bg-[var(--forest-card-bg)] divide-y-0","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"solid":{"header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"subtle":{"root":"bg-[var(--forest-card-bg)] ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]"},"outline":{"root":"ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]"},"peach":{"root":"bg-[var(--forest-card-peach-bg)] ring-[var(--forest-card-peach-ring)]","title":"text-[var(--forest-card-peach-text)]","description":"text-[var(--forest-card-peach-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"mint":{"root":"bg-[var(--forest-card-mint-bg)] ring-[var(--forest-card-mint-ring)]","title":"text-[var(--forest-card-mint-text)]","description":"text-[var(--forest-card-mint-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"sky":{"root":"bg-[var(--forest-card-sky-bg)] ring-[var(--forest-card-sky-ring)]","title":"text-[var(--forest-card-sky-text)]","description":"text-[var(--forest-card-sky-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"amber":{"root":"bg-[var(--forest-card-amber-bg)] ring-[var(--forest-card-amber-ring)]","title":"text-[var(--forest-card-amber-text)]","description":"text-[var(--forest-card-amber-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"}}},"defaultVariants":{"variant":"soft"}},"carousel":{"slots":{"prev":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]","next":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]","dot":"focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]"},"variants":{"active":{"true":{"dot":"data-[state=active]:bg-[var(--forest-500)] dark:data-[state=active]:bg-[var(--forest-400)]"}}}},"checkbox":{"slots":{"base":"rounded focus-visible:outline-2 focus-visible:outline-offset-2"},"variants":{"size":{"xs":{"base":"coarse:size-3.5"},"sm":{"base":"coarse:size-4","container":"coarse:h-5","wrapper":"coarse:text-sm"},"md":{"base":"coarse:size-4.5"},"lg":{"base":"coarse:size-5","container":"coarse:h-6","wrapper":"coarse:text-base"}}}},"checkboxGroup":{"slots":{"legend":"font-bold"}},"chip":{"slots":{"base":"font-bold [&:not(:empty)]:px-1 [&:not(:empty)]:leading-none"},"variants":{"standalone":{"true":"[&.ring]:translate-x-0 [&.ring]:translate-y-0"},"size":{"3xs":"[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]","2xs":"[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]","xs":"[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[10px]","sm":"[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[11px]","md":"[&:not(:empty)]:min-h-[16px] [&:not(:empty)]:min-w-[16px] [&:not(:empty)]:text-[11px]","lg":"[&:not(:empty)]:min-h-[17px] [&:not(:empty)]:min-w-[17px] [&:not(:empty)]:text-[12px]","xl":"[&:not(:empty)]:min-h-[18px] [&:not(:empty)]:min-w-[18px] [&:not(:empty)]:text-[13px]","2xl":"[&:not(:empty)]:min-h-[20px] [&:not(:empty)]:min-w-[20px] [&:not(:empty)]:text-[14px]","3xl":"[&:not(:empty)]:min-h-[22px] [&:not(:empty)]:min-w-[22px] [&:not(:empty)]:text-[15px]"}}},"collapsible":{"slots":{"root":"rounded-lg","content":"data-[state=open]:animate-[collapsible-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[collapsible-up_var(--motion-slow)_var(--motion-ease-out)] overflow-hidden text-sm text-muted"}},"colorPicker":{},"commandPalette":{"slots":{"root":"rounded-xl","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-xs","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5","itemTrailingHighlightedIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6","itemTrailingHighlightedIcon":"coarse:size-6"}}}},"container":{},"contextMenu":{"slots":{"content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-base","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"dashboardGroup":{"base":"bg-muted dark:bg-(--ui-color-neutral-950) text-default"},"dashboardNavbar":{},"dashboardPanel":{"slots":{"root":"bg-default overflow-hidden m-(--forest-panel-inset) lg:ms-0 rounded-lg ring ring-[var(--forest-card-ring)] min-h-0"}},"dashboardResizeHandle":{"base":"before:-left-3.5 after:absolute after:top-1/2 after:right-1 after:-translate-y-1/2 after:h-16 after:w-1 after:rounded-full after:bg-(--ui-text-dimmed) after:opacity-0 after:transition-opacity after:duration-(--motion-fast) hover:after:opacity-100 hover:after:delay-(--motion-dwell) active:after:opacity-100 active:after:delay-0"},"dashboardSidebar":{"slots":{"root":"group transition-[width] duration-(--motion-slow) ease-(--motion-ease-in-out) data-[dragging=true]:transition-none","header":"group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center","body":"[scrollbar-width:none]! group-data-[collapsed=true]:px-2","footer":"group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center"},"variants":{"side":{"left":{"root":"border-e-0"}}}},"dashboardSidebarCollapse":{},"dashboardSidebarToggle":{},"dashboardToolbar":{"slots":{"root":"min-h-(--ui-header-height)"}},"drawer":{"slots":{"title":"text-base tracking-tight"},"variants":{"inset":{"true":{"content":"rounded-[var(--forest-drawer-radius)]"}}},"compoundVariants":[{"direction":"bottom","inset":false,"class":{"content":"rounded-t-[var(--forest-drawer-radius)]"}},{"direction":"top","inset":false,"class":{"content":"rounded-b-[var(--forest-drawer-radius)]"}},{"direction":"left","inset":false,"class":{"content":"rounded-r-[var(--forest-drawer-radius)]"}},{"direction":"right","inset":false,"class":{"content":"rounded-l-[var(--forest-drawer-radius)]"}}]},"dropdownMenu":{"slots":{"content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-base","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"empty":{"slots":{"root":"rounded-2xl p-8 sm:p-10 lg:p-12","title":"font-display","description":"max-w-xs","actions":"gap-3"},"variants":{"size":{"xs":{"title":"text-lg"},"sm":{"title":"text-lg"},"md":{"title":"text-xl"},"lg":{"title":"text-xl"},"xl":{"title":"text-2xl"}}}},"fieldGroup":{"base":"rounded-md","variants":{"orientation":{"horizontal":"[&>*:first-child]:rounded-s-md [&>*:last-child]:rounded-e-md","vertical":"[&>*:first-child]:rounded-t-md [&>*:last-child]:rounded-b-md"}}},"fileUpload":{"slots":{"base":"rounded-xl transition-[background,border-color] duration-(--motion-fast)","label":"font-bold"}},"footer":{},"footerColumns":{"slots":{"label":"type-overline"}},"form":{"base":"space-y-5"},"formField":{"slots":{"label":"font-bold"}},"header":{"slots":{"title":"type-title"}},"icon":{},"input":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none focus-visible:shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none focus-visible:shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputDate":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none","segment":"focus:rounded"},"variants":{"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputMenu":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","tagsItem":"rounded-md"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputNumber":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none"},"variants":{"size":{"xs":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5","sm":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","md":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2","lg":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","xl":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputRating":{"defaultVariants":{"color":"warning"},"variants":{"size":{"xs":{"item":"coarse:size-4","icon":"coarse:size-4"},"sm":{"item":"coarse:size-5","icon":"coarse:size-5"},"md":{"item":"coarse:size-6","icon":"coarse:size-6"},"lg":{"item":"coarse:size-7","icon":"coarse:size-7"}}}},"inputTags":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none","item":"rounded-lg","itemDelete":"rounded-sm"},"variants":{"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputTime":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none"},"variants":{"variant":{"outline":"hover:bg-elevated disabled:bg-default focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"hover:bg-accented/75 disabled:bg-elevated focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"kbd":{"base":"rounded-xs font-mono px-2","variants":{"size":{"sm":"px-1"}}},"link":{"base":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]"},"listbox":{"slots":{"label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-xs","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-sm","itemDescription":"coarse:text-sm","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"main":{},"marquee":{"slots":{"root":"rounded-xl py-1.5","content":"gap-6"}},"modal":{"slots":{"title":"font-display text-xl"},"variants":{"transition":{"true":{"overlay":"data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]","content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"}},"fullscreen":{"false":{"content":"rounded-xl"}}}},"navigationMenu":{"slots":{"viewport":"duration-(--motion-slow) ease-(--motion-ease-in-out) data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","arrow":"rounded-sm","label":"text-xs uppercase tracking-wider text-dimmed","childLink":"before:rounded-sm dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2"},"variants":{"active":{"true":{"childLink":"before:bg-primary/10 text-primary font-bold"}}},"compoundVariants":[{"variant":"pill","active":true,"class":{"link":"before:bg-primary/10 font-bold"}},{"variant":"link","active":true,"class":{"link":"font-bold"}},{"orientation":"vertical","collapsed":false,"class":{"label":"mt-6 [li:first-child>&]:mt-0"}},{"orientation":"vertical","collapsed":true,"class":{"link":"size-8 p-0 justify-center mx-auto","separator":"w-5 mx-auto my-1.5 px-0"}}]},"page":{},"pageAnchors":{},"pageAside":{},"pageCard":{"slots":{"root":"rounded-xl","title":"type-heading-xs","description":"type-body"}},"pageCta":{"slots":{"title":"type-headline","description":"type-body"}},"pageFeature":{"slots":{"title":"type-heading-xs","description":"type-body"}},"pageHeader":{"slots":{"headline":"type-overline","title":"type-display","description":"type-body"}},"pageHero":{"slots":{"title":"type-display","description":"type-subtitle"}},"pageLinks":{"slots":{"title":"type-label"}},"pageSection":{"slots":{"title":"type-headline","description":"type-body"}},"pagination":{"slots":{"label":"font-bold","item":"rounded-lg","ellipsis":"ring-0"}},"pinInput":{"slots":{"root":"gap-2","base":"font-bold transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:size-7"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:size-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]"},"md":{"base":"[--forest-input-depth:3px] touch:size-10 touch:text-sm"},"lg":{"base":"[--forest-input-depth:3px] touch:size-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]"},"xl":{"base":"[--forest-input-depth:4px] touch:size-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}}]},"popover":{"slots":{"content":"shadow-xl rounded-xl data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"}},"progress":{"slots":{"indicator":"duration-(--motion-slow) ease-(--motion-ease-out) will-change-transform"}},"prose":{"codePreview":{"slots":{"preview":"ed-demo"}},"codeCollapse":{"variants":{"open":{"false":{"root":"rounded-md"}}}}},"radioGroup":{"slots":{"legend":"font-bold"},"variants":{"size":{"xs":{"base":"coarse:size-3.5"},"sm":{"base":"coarse:size-4","item":"coarse:text-sm","legend":"coarse:text-sm","container":"coarse:h-5","fieldset":"coarse:gap-y-1","indicator":"coarse:after:size-1.5"},"md":{"base":"coarse:size-4.5"},"lg":{"base":"coarse:size-5","item":"coarse:text-base","legend":"coarse:text-base","container":"coarse:h-6","fieldset":"coarse:gap-y-1.5","indicator":"coarse:after:size-2"}}}},"scrollArea":{"slots":{"root":"rounded-lg [scrollbar-color:var(--forest-400)_transparent] hover:[scrollbar-color:var(--forest-500)_transparent]"}},"select":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","item":"before:rounded-sm","label":"text-dimmed uppercase tracking-wider"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"selectMenu":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","label":"font-bold","item":"before:rounded-sm","content":"w-auto min-w-(--reka-combobox-trigger-width) max-w-[min(28rem,var(--reka-combobox-content-available-width))]"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"separator":{"slots":{"container":"font-bold"}},"sidebar":{"slots":{"title":"font-display","description":"mt-1"},"variants":{"collapsible":{"icon":{"header":"group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center","body":"group-data-[state=collapsed]/sidebar:px-2","footer":"group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center"}},"transition":{"true":{"gap":"duration-(--motion-slow) ease-(--motion-ease-in-out)","container":"duration-(--motion-slow) ease-(--motion-ease-in-out)","rail":"duration-(--motion-fast) ease-(--motion-ease-out)"}},"variant":{"floating":{"inner":"bg-default shadow-none"}}},"compoundVariants":[{"variant":"floating","class":{"container":"border-transparent"}}]},"skeleton":{"base":"rounded-sm"},"slideover":{"slots":{"content":"shadow-xl","title":"font-display","header":"border-b border-default","footer":"border-t border-default"},"variants":{"inset":{"true":{"content":"rounded-xl"}},"transition":{"true":{"overlay":"data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]"}}},"compoundVariants":[{"transition":true,"side":"top","class":{"content":"data-[state=open]:animate-[slide-in-from-top_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-top_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"right","class":{"content":"data-[state=open]:animate-[slide-in-from-right_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-right_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"bottom","class":{"content":"data-[state=open]:animate-[slide-in-from-bottom_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"left","class":{"content":"data-[state=open]:animate-[slide-in-from-left_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-left_var(--motion-fast)_var(--motion-ease-out)]"}}],"defaultVariants":{"inset":true}},"slider":{"slots":{"thumb":"focus-visible:outline-2 shadow-sm cursor-grab active:cursor-grabbing transition-[box-shadow,ring-color] duration-(--motion-fast)"},"variants":{"size":{"xs":{"thumb":"coarse:size-3.5"},"sm":{"thumb":"coarse:size-4"},"md":{"thumb":"coarse:size-4.5"},"lg":{"thumb":"coarse:size-5"}}}},"stepper":{"slots":{"trigger":"focus-visible:outline-2 focus-visible:outline-offset-2","title":"font-bold","separator":"opacity-60 group-data-[state=completed]:opacity-100"}},"switch":{"slots":{"base":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)] duration-(--motion-base)","thumb":"shadow-md duration-(--motion-base) ease-(--motion-ease-out)"},"variants":{"size":{"xs":{"base":"coarse:w-8","thumb":"coarse:size-3.5 coarse:data-[state=checked]:translate-x-3.5"},"sm":{"base":"coarse:w-9","container":"coarse:h-5","thumb":"coarse:size-4 coarse:data-[state=checked]:translate-x-4","wrapper":"coarse:text-sm"},"md":{"base":"coarse:w-10","thumb":"coarse:size-4.5 coarse:data-[state=checked]:translate-x-4.5"},"lg":{"base":"coarse:w-11","container":"coarse:h-6","thumb":"coarse:size-5 coarse:data-[state=checked]:translate-x-5","wrapper":"coarse:text-base"}}}},"table":{"slots":{"th":"text-xs font-bold uppercase tracking-wider text-default","td":"text-default","empty":"text-dimmed"}},"tabs":{"slots":{"indicator":"duration-(--motion-base) ease-(--motion-ease-in-out)","trigger":"font-bold"},"variants":{"size":{"xs":{"trigger":"coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5"},"sm":{"trigger":"coarse:px-3 coarse:text-sm","leadingIcon":"coarse:size-5"},"md":{"trigger":"coarse:py-2 coarse:gap-2"},"lg":{"trigger":"coarse:text-base","leadingIcon":"coarse:size-6"}}},"compoundVariants":[{"variant":"pill","class":{"list":"bg-default ring ring-inset ring-accented"}},{"variant":"pill","size":"xs","class":{"list":"rounded-md","indicator":"rounded-sm"}},{"variant":"pill","size":"sm","class":{"list":"rounded-md coarse:rounded-lg","indicator":"rounded-sm coarse:rounded-md"}},{"variant":"pill","size":"md","class":{"list":"rounded-lg","indicator":"rounded-md"}},{"variant":"pill","size":"lg","class":{"list":"rounded-lg","indicator":"rounded-md"}},{"variant":"pill","size":"xl","class":{"list":"rounded-lg","indicator":"rounded-md"}}]},"textarea":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}}]},"timeline":{"slots":{"title":"font-bold"}},"toast":{"slots":{"root":"rounded-xl gap-3 focus:outline-none","title":"font-bold"}},"toaster":{"slots":{"base":"data-[front=false]:*:duration-(--motion-instant) data-[state=closed]:animate-[toast-closed_var(--motion-fast)_var(--motion-ease-out)] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_var(--motion-fast)_var(--motion-ease-out)] data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_var(--motion-base)_var(--motion-ease-out)] data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_var(--motion-base)_var(--motion-ease-out)] duration-(--motion-base) ease-(--motion-ease-out)"},"variants":{"swipeDirection":{"up":"data-[swipe=end]:animate-[toast-slide-up_var(--motion-fast)_var(--motion-ease-out)]","right":"data-[swipe=end]:animate-[toast-slide-right_var(--motion-fast)_var(--motion-ease-out)]","down":"data-[swipe=end]:animate-[toast-slide-down_var(--motion-fast)_var(--motion-ease-out)]","left":"data-[swipe=end]:animate-[toast-slide-left_var(--motion-fast)_var(--motion-ease-out)]"}},"compoundVariants":[{"position":["top-left","top-center","top-right"],"class":{"base":"data-[state=open]:animate-[toast-slide-in-from-top_var(--motion-base)_var(--motion-ease-out)]"}},{"position":["bottom-left","bottom-center","bottom-right"],"class":{"base":"data-[state=open]:animate-[toast-slide-in-from-bottom_var(--motion-base)_var(--motion-ease-out)]"}}]},"tooltip":{"slots":{"content":"bg-inverted text-inverted rounded-lg data-[state=delayed-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=instant-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-instant)_var(--motion-ease-out)]","arrow":"fill-[var(--ui-bg-inverted)]"}},"tree":{"slots":{"link":"focus-visible:before:ring-inset focus-visible:before:ring-2","linkTrailingIcon":"duration-(--motion-fast) ease-(--motion-ease-out)"},"variants":{"size":{"xs":{"link":"coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5"},"sm":{"link":"coarse:text-sm","linkLeadingIcon":"coarse:size-5","linkTrailingIcon":"coarse:size-5"},"md":{"link":"coarse:px-3 coarse:py-2 coarse:gap-2"},"lg":{"link":"coarse:text-base","linkLeadingIcon":"coarse:size-6","linkTrailingIcon":"coarse:size-6"}}}},"user":{"slots":{"name":"font-bold","wrapper":"min-w-0"},"variants":{"to":{"true":{"avatar":"duration-(--motion-fast) ease-(--motion-ease-out)"}}}},"icons":{"star":"i-forest-star-fill"},"colors":{"primary":"forest","secondary":"warm","success":"forest","info":"river","warning":"amber","error":"maple","neutral":"neutral"}},"theme":{"colors":["secondary","success","info","warning","error","forest","maple","river","warm","acid"]}}
1
+ {"ui":{"accordion":{"slots":{"trigger":"font-bold focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]","body":"text-muted","content":"data-[state=open]:animate-[accordion-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[accordion-up_var(--motion-slow)_var(--motion-ease-out)]","trailingIcon":"duration-(--motion-fast) ease-(--motion-ease-out)"}},"alert":{"slots":{"title":"font-bold"}},"authForm":{"slots":{"title":"type-title","description":"type-body"}},"avatar":{"slots":{"root":"font-bold","fallback":"font-bold"}},"avatarGroup":{},"badge":{"slots":{"base":"rounded-sm font-bold uppercase tracking-wide"},"variants":{"size":{"xs":{"base":"rounded-xs coarse:text-[10px]/3 coarse:px-1.5 coarse:py-1"},"sm":{"base":"rounded-xs coarse:text-xs coarse:px-2 coarse:rounded-sm","leadingIcon":"coarse:size-4","trailingIcon":"coarse:size-4"},"md":{"base":"rounded-sm coarse:text-sm coarse:gap-1.5","leadingIcon":"coarse:size-5","trailingIcon":"coarse:size-5"},"lg":{"base":"rounded-sm coarse:text-base coarse:px-2.5","leadingIcon":"coarse:size-6","trailingIcon":"coarse:size-6"},"xl":{"base":"rounded-sm"}}},"defaultVariants":{"variant":"subtle"}},"banner":{"slots":{"left":"lg:flex-none","center":"flex-1","title":"font-bold me-auto","right":"lg:flex-none"}},"breadcrumb":{},"button":{"slots":{"base":"font-bold transition-[transform,box-shadow,background-color,border-color,color] duration-(--motion-fast) motion-reduce:transition-[background-color,border-color,color]"},"variants":{"color":{"primary":"[--btn-face:var(--forest-500)] dark:[--btn-face:var(--forest-400)] [--btn-hover:var(--forest-600)] dark:[--btn-hover:var(--forest-500)] [--btn-press:var(--forest-700)] dark:[--btn-press:var(--forest-600)] [--btn-lip:var(--forest-700)] dark:[--btn-lip:var(--forest-600)] [--btn-ring:var(--forest-500)] [--btn-t1:var(--forest-100)] dark:[--btn-t1:var(--forest-900)] [--btn-t2:var(--forest-200)] dark:[--btn-t2:var(--forest-800)] [--btn-t3:var(--forest-300)] dark:[--btn-t3:var(--forest-700)] [--btn-line:var(--forest-400)] dark:[--btn-line:var(--forest-600)] [--btn-text:var(--forest-700)] dark:[--btn-text:var(--forest-300)] [--btn-ink:var(--forest-0)] dark:[--btn-ink:var(--forest-950)]","success":"[--btn-face:var(--forest-500)] dark:[--btn-face:var(--forest-400)] [--btn-hover:var(--forest-600)] dark:[--btn-hover:var(--forest-500)] [--btn-press:var(--forest-700)] dark:[--btn-press:var(--forest-600)] [--btn-lip:var(--forest-700)] dark:[--btn-lip:var(--forest-600)] [--btn-ring:var(--forest-500)] [--btn-t1:var(--forest-100)] dark:[--btn-t1:var(--forest-900)] [--btn-t2:var(--forest-200)] dark:[--btn-t2:var(--forest-800)] [--btn-t3:var(--forest-300)] dark:[--btn-t3:var(--forest-700)] [--btn-line:var(--forest-400)] dark:[--btn-line:var(--forest-600)] [--btn-text:var(--forest-700)] dark:[--btn-text:var(--forest-300)] [--btn-ink:var(--forest-0)] dark:[--btn-ink:var(--forest-950)]","info":"[--btn-face:var(--river-500)] dark:[--btn-face:var(--river-400)] [--btn-hover:var(--river-600)] dark:[--btn-hover:var(--river-500)] [--btn-press:var(--river-700)] dark:[--btn-press:var(--river-600)] [--btn-lip:var(--river-700)] dark:[--btn-lip:var(--river-600)] [--btn-ring:var(--river-500)] [--btn-t1:var(--river-100)] dark:[--btn-t1:var(--river-900)] [--btn-t2:var(--river-200)] dark:[--btn-t2:var(--river-800)] [--btn-t3:var(--river-300)] dark:[--btn-t3:var(--river-700)] [--btn-line:var(--river-400)] dark:[--btn-line:var(--river-600)] [--btn-text:var(--river-700)] dark:[--btn-text:var(--river-300)] [--btn-ink:var(--river-0)] dark:[--btn-ink:var(--river-950)]","error":"[--btn-face:var(--maple-500)] dark:[--btn-face:var(--maple-400)] [--btn-hover:var(--maple-600)] dark:[--btn-hover:var(--maple-500)] [--btn-press:var(--maple-700)] dark:[--btn-press:var(--maple-600)] [--btn-lip:var(--maple-700)] dark:[--btn-lip:var(--maple-600)] [--btn-ring:var(--maple-500)] [--btn-t1:var(--maple-100)] dark:[--btn-t1:var(--maple-900)] [--btn-t2:var(--maple-200)] dark:[--btn-t2:var(--maple-800)] [--btn-t3:var(--maple-300)] dark:[--btn-t3:var(--maple-700)] [--btn-line:var(--maple-400)] dark:[--btn-line:var(--maple-600)] [--btn-text:var(--maple-700)] dark:[--btn-text:var(--maple-300)] [--btn-ink:var(--maple-0)] dark:[--btn-ink:var(--maple-950)]","warning":"[--btn-face:var(--amber-300)] [--btn-hover:var(--amber-400)] [--btn-press:var(--amber-500)] [--btn-lip:var(--amber-600)] [--btn-ring:var(--amber-500)] [--btn-t1:var(--amber-100)] dark:[--btn-t1:var(--amber-900)] [--btn-t2:var(--amber-200)] dark:[--btn-t2:var(--amber-800)] [--btn-t3:var(--amber-300)] dark:[--btn-t3:var(--amber-700)] [--btn-line:var(--amber-400)] dark:[--btn-line:var(--amber-600)] [--btn-text:var(--amber-700)] dark:[--btn-text:var(--amber-300)] [--btn-ink:var(--amber-950)]","secondary":"[--btn-face:var(--warm-500)] dark:[--btn-face:var(--warm-400)] [--btn-hover:var(--warm-600)] dark:[--btn-hover:var(--warm-500)] [--btn-press:var(--warm-700)] dark:[--btn-press:var(--warm-600)] [--btn-lip:var(--warm-700)] dark:[--btn-lip:var(--warm-600)] [--btn-ring:var(--warm-500)] [--btn-t1:var(--warm-100)] dark:[--btn-t1:var(--warm-900)] [--btn-t2:var(--warm-200)] dark:[--btn-t2:var(--warm-800)] [--btn-t3:var(--warm-300)] dark:[--btn-t3:var(--warm-700)] [--btn-line:var(--warm-400)] dark:[--btn-line:var(--warm-600)] [--btn-text:var(--warm-700)] dark:[--btn-text:var(--warm-300)] [--btn-ink:var(--warm-0)] dark:[--btn-ink:var(--warm-950)]","neutral":"[--btn-face:var(--neutral-900)] dark:[--btn-face:var(--neutral-50)] [--btn-hover:var(--neutral-800)] dark:[--btn-hover:var(--neutral-100)] [--btn-press:var(--neutral-700)] dark:[--btn-press:var(--neutral-200)] [--btn-lip:var(--neutral-400)] dark:[--btn-lip:var(--neutral-300)] [--btn-ring:var(--neutral-500)] [--btn-t1:var(--neutral-50)] dark:[--btn-t1:var(--neutral-950)] [--btn-t2:var(--neutral-100)] dark:[--btn-t2:var(--neutral-900)] [--btn-t3:var(--neutral-200)] dark:[--btn-t3:var(--neutral-800)] [--btn-line:var(--neutral-300)] dark:[--btn-line:var(--neutral-700)] [--btn-text:var(--neutral-900)] dark:[--btn-text:var(--neutral-100)] [--btn-ink:var(--neutral-0)] dark:[--btn-ink:var(--neutral-900)]"},"variant":{"keycap":"","pad":"","framed":"","subtle":"","link":""},"size":{"xs":{"base":"min-h-6 px-2.5 rounded-sm touch:min-h-7 [--btn-y:-1px] [--btn-yi:1px] [--btn-y-h:-2px] [--btn-yhi:2px] coarse:[--btn-y:-2px] coarse:[--btn-yi:2px] coarse:[--btn-y-h:-3px] coarse:[--btn-yhi:3px]"},"sm":{"base":"min-h-7 px-3 rounded-md touch:min-h-9 touch:text-sm [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"min-h-8 px-3.5 rounded-md touch:min-h-10 [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px] coarse:[--btn-y:-3px] coarse:[--btn-yi:3px] coarse:[--btn-y-h:-4px] coarse:[--btn-yhi:4px]"},"lg":{"base":"min-h-9 px-4 rounded-lg touch:min-h-11 touch:text-base [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"min-h-10 px-4 rounded-lg touch:min-h-13 touch:text-lg [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"color":"primary","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"success","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"info","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"warning","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"error","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"keycap","class":"relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"primary","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"success","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"info","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"warning","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"error","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"pad","class":"[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)] relative isolate overflow-visible border-0 text-[var(--btn-ink)] bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent [--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px] translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)] disabled:translate-y-0 aria-disabled:translate-y-0 after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out) hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)] before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)] before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0 focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)] disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0 focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"},{"color":"primary","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"framed","class":"ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"solid","class":"border-0 text-[var(--btn-ink)] bg-[var(--btn-face)] hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"subtle","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"soft","class":"text-[var(--btn-text)] bg-[var(--btn-t1)] hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"outline","class":"ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"ghost","class":"text-[var(--btn-text)] bg-transparent hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"primary","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"secondary","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"success","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"info","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"warning","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"error","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"color":"neutral","variant":"link","class":"border-0 bg-transparent text-[var(--btn-text)] underline-offset-4 hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]"},{"square":true,"class":"justify-center aspect-square touch:px-0 touch:py-0"}],"defaultVariants":{"color":"primary","variant":"solid","size":"md"}},"calendar":{"slots":{"root":"rounded-xl border border-default bg-elevated/30 p-4 inline-block","headingLabel":"font-bold tracking-tight text-highlighted","cellTrigger":"focus-visible:ring-2 focus-visible:ring-offset-2 focus:outline-none data-today:font-bold"}},"card":{"slots":{"root":"rounded-xl forest-card","body":"sm:p-4","header":"sm:px-4","footer":"sm:px-4","title":"[font-family:var(--fx-title-family)] [text-transform:var(--fx-title-transform)]"},"variants":{"variant":{"soft":{"root":"bg-[var(--forest-card-bg)] divide-y-0","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"solid":{"header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"subtle":{"root":"bg-[var(--forest-card-bg)] ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]"},"outline":{"root":"ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]"},"peach":{"root":"bg-[var(--forest-card-peach-bg)] ring-[var(--forest-card-peach-ring)]","title":"text-[var(--forest-card-peach-text)]","description":"text-[var(--forest-card-peach-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"mint":{"root":"bg-[var(--forest-card-mint-bg)] ring-[var(--forest-card-mint-ring)]","title":"text-[var(--forest-card-mint-text)]","description":"text-[var(--forest-card-mint-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"sky":{"root":"bg-[var(--forest-card-sky-bg)] ring-[var(--forest-card-sky-ring)]","title":"text-[var(--forest-card-sky-text)]","description":"text-[var(--forest-card-sky-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"},"amber":{"root":"bg-[var(--forest-card-amber-bg)] ring-[var(--forest-card-amber-ring)]","title":"text-[var(--forest-card-amber-text)]","description":"text-[var(--forest-card-amber-muted)]","header":"[&:not(:last-child)]:pb-0","footer":"[&:not(:first-child)]:pt-0"}}},"defaultVariants":{"variant":"soft"}},"carousel":{"slots":{"prev":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]","next":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]","dot":"focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]"},"variants":{"active":{"true":{"dot":"data-[state=active]:bg-[var(--forest-500)] dark:data-[state=active]:bg-[var(--forest-400)]"}}}},"checkbox":{"slots":{"base":"rounded focus-visible:outline-2 focus-visible:outline-offset-2"},"variants":{"size":{"xs":{"base":"coarse:size-3.5"},"sm":{"base":"coarse:size-4","container":"coarse:h-5","wrapper":"coarse:text-sm"},"md":{"base":"coarse:size-4.5"},"lg":{"base":"coarse:size-5","container":"coarse:h-6","wrapper":"coarse:text-base"}}}},"checkboxGroup":{"slots":{"legend":"font-bold"}},"chip":{"slots":{"base":"font-bold [&:not(:empty)]:px-1 [&:not(:empty)]:leading-none"},"variants":{"standalone":{"true":"[&.ring]:translate-x-0 [&.ring]:translate-y-0"},"size":{"3xs":"[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]","2xs":"[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]","xs":"[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[10px]","sm":"[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[11px]","md":"[&:not(:empty)]:min-h-[16px] [&:not(:empty)]:min-w-[16px] [&:not(:empty)]:text-[11px]","lg":"[&:not(:empty)]:min-h-[17px] [&:not(:empty)]:min-w-[17px] [&:not(:empty)]:text-[12px]","xl":"[&:not(:empty)]:min-h-[18px] [&:not(:empty)]:min-w-[18px] [&:not(:empty)]:text-[13px]","2xl":"[&:not(:empty)]:min-h-[20px] [&:not(:empty)]:min-w-[20px] [&:not(:empty)]:text-[14px]","3xl":"[&:not(:empty)]:min-h-[22px] [&:not(:empty)]:min-w-[22px] [&:not(:empty)]:text-[15px]"}}},"collapsible":{"slots":{"root":"rounded-lg","content":"data-[state=open]:animate-[collapsible-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[collapsible-up_var(--motion-slow)_var(--motion-ease-out)] overflow-hidden text-sm text-muted"}},"colorPicker":{},"commandPalette":{"slots":{"root":"rounded-xl","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-xs","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5","itemTrailingHighlightedIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6","itemTrailingHighlightedIcon":"coarse:size-6"}}}},"container":{},"contextMenu":{"slots":{"content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-base","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"dashboardGroup":{"base":"bg-muted dark:bg-(--ui-color-neutral-950) text-default"},"dashboardNavbar":{},"dashboardPanel":{"slots":{"root":"bg-default overflow-hidden m-(--forest-panel-inset) lg:ms-0 rounded-lg ring ring-[var(--forest-card-ring)] min-h-0"}},"dashboardResizeHandle":{"base":"before:-left-3.5 after:absolute after:top-1/2 after:right-1 after:-translate-y-1/2 after:h-16 after:w-1 after:rounded-full after:bg-(--ui-text-dimmed) after:opacity-0 after:transition-opacity after:duration-(--motion-fast) hover:after:opacity-100 hover:after:delay-(--motion-dwell) active:after:opacity-100 active:after:delay-0"},"dashboardSidebar":{"slots":{"root":"group transition-[width] duration-(--motion-slow) ease-(--motion-ease-in-out) data-[dragging=true]:transition-none","header":"group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center","body":"[scrollbar-width:none]! group-data-[collapsed=true]:px-2","footer":"group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center"},"variants":{"side":{"left":{"root":"border-e-0"}}}},"dashboardSidebarCollapse":{},"dashboardSidebarToggle":{},"dashboardToolbar":{"slots":{"root":"min-h-(--ui-header-height)"}},"drawer":{"slots":{"title":"text-base tracking-tight"},"variants":{"inset":{"true":{"content":"rounded-[var(--forest-drawer-radius)]"}}},"compoundVariants":[{"direction":"bottom","inset":false,"class":{"content":"rounded-t-[var(--forest-drawer-radius)]"}},{"direction":"top","inset":false,"class":{"content":"rounded-b-[var(--forest-drawer-radius)]"}},{"direction":"left","inset":false,"class":{"content":"rounded-r-[var(--forest-drawer-radius)]"}},{"direction":"right","inset":false,"class":{"content":"rounded-l-[var(--forest-drawer-radius)]"}}]},"dropdownMenu":{"slots":{"content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-sm","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-base","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"empty":{"slots":{"root":"rounded-2xl p-8 sm:p-10 lg:p-12","title":"font-display","description":"max-w-xs","actions":"gap-3"},"variants":{"size":{"xs":{"title":"text-lg"},"sm":{"title":"text-lg"},"md":{"title":"text-xl"},"lg":{"title":"text-xl"},"xl":{"title":"text-2xl"}}}},"fieldGroup":{"base":"rounded-md","variants":{"orientation":{"horizontal":"[&>*:first-child]:rounded-s-md [&>*:last-child]:rounded-e-md","vertical":"[&>*:first-child]:rounded-t-md [&>*:last-child]:rounded-b-md"}}},"fileUpload":{"slots":{"base":"rounded-xl transition-[background,border-color] duration-(--motion-fast)","label":"font-bold"}},"footer":{},"footerColumns":{"slots":{"label":"type-overline"}},"form":{"base":"space-y-5"},"formField":{"slots":{"label":"font-bold"}},"header":{"slots":{"title":"type-title"}},"icon":{},"input":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none focus-visible:shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none focus-visible:shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputDate":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none","segment":"focus:rounded"},"variants":{"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputMenu":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","item":"before:rounded-sm","tagsItem":"rounded-md"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputNumber":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none"},"variants":{"size":{"xs":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5","sm":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","md":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2","lg":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","xl":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputRating":{"defaultVariants":{"color":"warning"},"variants":{"size":{"xs":{"item":"coarse:size-4","icon":"coarse:size-4"},"sm":{"item":"coarse:size-5","icon":"coarse:size-5"},"md":{"item":"coarse:size-6","icon":"coarse:size-6"},"lg":{"item":"coarse:size-7","icon":"coarse:size-7"}}}},"inputTags":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none","item":"rounded-lg","itemDelete":"rounded-sm"},"variants":{"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"inputTime":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none"},"variants":{"variant":{"outline":"hover:bg-elevated disabled:bg-default focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"hover:bg-accented/75 disabled:bg-elevated focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"kbd":{"base":"rounded-xs font-mono px-2","variants":{"size":{"sm":"px-1"}}},"link":{"base":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]"},"listbox":{"slots":{"label":"font-bold tracking-wide"},"variants":{"size":{"xs":{"item":"coarse:p-1.5 coarse:gap-1.5","label":"coarse:p-1.5 coarse:gap-1.5"},"sm":{"item":"coarse:text-sm","label":"coarse:text-xs","itemLeadingIcon":"coarse:size-5","itemTrailingIcon":"coarse:size-5"},"md":{"item":"coarse:p-2 coarse:gap-2","label":"coarse:p-2 coarse:gap-2"},"lg":{"item":"coarse:text-base","label":"coarse:text-sm","itemDescription":"coarse:text-sm","itemLeadingIcon":"coarse:size-6","itemTrailingIcon":"coarse:size-6"}}}},"main":{},"marquee":{"slots":{"root":"rounded-xl py-1.5","content":"gap-6"}},"modal":{"slots":{"title":"font-display text-xl"},"variants":{"transition":{"true":{"overlay":"data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]","content":"data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"}},"fullscreen":{"false":{"content":"rounded-xl"}}}},"navigationMenu":{"slots":{"viewport":"duration-(--motion-slow) ease-(--motion-ease-in-out) data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]","arrow":"rounded-sm","label":"text-xs uppercase tracking-wider text-dimmed","childLink":"before:rounded-sm dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2"},"variants":{"active":{"true":{"childLink":"before:bg-primary/10 text-primary font-bold"}}},"compoundVariants":[{"variant":"pill","active":true,"class":{"link":"before:bg-primary/10 font-bold"}},{"variant":"link","active":true,"class":{"link":"font-bold"}},{"orientation":"vertical","collapsed":false,"class":{"label":"mt-6 [li:first-child>&]:mt-0"}},{"orientation":"vertical","collapsed":true,"class":{"link":"size-8 p-0 justify-center mx-auto","separator":"w-5 mx-auto my-1.5 px-0"}}]},"page":{},"pageAnchors":{},"pageAside":{},"pageCard":{"slots":{"root":"rounded-xl","title":"type-heading-xs","description":"type-body"}},"pageCta":{"slots":{"title":"type-headline","description":"type-body"}},"pageFeature":{"slots":{"title":"type-heading-xs","description":"type-body"}},"pageHeader":{"slots":{"headline":"type-overline","title":"type-display","description":"type-body"}},"pageHero":{"slots":{"title":"type-display","description":"type-subtitle"}},"pageLinks":{"slots":{"title":"type-label"}},"pageSection":{"slots":{"title":"type-headline","description":"type-body"}},"pagination":{"slots":{"label":"font-bold","item":"rounded-lg","ellipsis":"ring-0"}},"pinInput":{"slots":{"root":"gap-2","base":"font-bold transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:size-7"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:size-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]"},"md":{"base":"[--forest-input-depth:3px] touch:size-10 touch:text-sm"},"lg":{"base":"[--forest-input-depth:3px] touch:size-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]"},"xl":{"base":"[--forest-input-depth:4px] touch:size-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}}]},"popover":{"slots":{"content":"shadow-xl rounded-xl data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"}},"progress":{"slots":{"indicator":"duration-(--motion-slow) ease-(--motion-ease-out) will-change-transform"}},"prose":{"codePreview":{"slots":{"preview":"ed-demo"}},"codeCollapse":{"variants":{"open":{"false":{"root":"rounded-md"}}}}},"radioGroup":{"slots":{"legend":"font-bold"},"variants":{"size":{"xs":{"base":"coarse:size-3.5"},"sm":{"base":"coarse:size-4","item":"coarse:text-sm","legend":"coarse:text-sm","container":"coarse:h-5","fieldset":"coarse:gap-y-1","indicator":"coarse:after:size-1.5"},"md":{"base":"coarse:size-4.5"},"lg":{"base":"coarse:size-5","item":"coarse:text-base","legend":"coarse:text-base","container":"coarse:h-6","fieldset":"coarse:gap-y-1.5","indicator":"coarse:after:size-2"}}}},"scrollArea":{"slots":{"root":"rounded-lg [scrollbar-color:var(--forest-400)_transparent] hover:[scrollbar-color:var(--forest-500)_transparent]"}},"select":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","item":"before:rounded-sm","label":"text-dimmed uppercase tracking-wider"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"selectMenu":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none","label":"font-bold","item":"before:rounded-sm","content":"w-auto min-w-(--reka-combobox-trigger-width) max-w-[min(28rem,var(--reka-combobox-content-available-width))]"},"variants":{"variant":{"outline":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]","subtle":"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"},"size":{"xs":{"base":"[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}},{"variant":"none","class":{"base":"shadow-none"}},{"color":"primary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-primary)]"}},{"color":"secondary","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-secondary)]"}},{"color":"success","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-success)]"}},{"color":"info","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-info)]"}},{"color":"warning","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warning)]"}},{"color":"error","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-error)]"}},{"color":"forest","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-forest)]"}},{"color":"maple","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-maple)]"}},{"color":"river","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-river)]"}},{"color":"warm","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-warm)]"}},{"color":"acid","highlight":true,"class":{"base":"[--forest-input-recess:var(--forest-recess-acid)]"}}]},"separator":{"slots":{"container":"font-bold"}},"sidebar":{"slots":{"title":"font-display","description":"mt-1"},"variants":{"collapsible":{"icon":{"header":"group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center","body":"group-data-[state=collapsed]/sidebar:px-2","footer":"group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center"}},"transition":{"true":{"gap":"duration-(--motion-slow) ease-(--motion-ease-in-out)","container":"duration-(--motion-slow) ease-(--motion-ease-in-out)","rail":"duration-(--motion-fast) ease-(--motion-ease-out)"}},"variant":{"floating":{"inner":"bg-default shadow-none"}}},"compoundVariants":[{"variant":"floating","class":{"container":"border-transparent"}}]},"skeleton":{"base":"rounded-sm"},"slideover":{"slots":{"content":"shadow-xl","title":"font-display","header":"border-b border-default","footer":"border-t border-default"},"variants":{"inset":{"true":{"content":"rounded-xl"}},"transition":{"true":{"overlay":"data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]"}}},"compoundVariants":[{"transition":true,"side":"top","class":{"content":"data-[state=open]:animate-[slide-in-from-top_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-top_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"right","class":{"content":"data-[state=open]:animate-[slide-in-from-right_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-right_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"bottom","class":{"content":"data-[state=open]:animate-[slide-in-from-bottom_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_var(--motion-fast)_var(--motion-ease-out)]"}},{"transition":true,"side":"left","class":{"content":"data-[state=open]:animate-[slide-in-from-left_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-left_var(--motion-fast)_var(--motion-ease-out)]"}}],"defaultVariants":{"inset":true}},"slider":{"slots":{"thumb":"focus-visible:outline-2 shadow-sm cursor-grab active:cursor-grabbing transition-[box-shadow,ring-color] duration-(--motion-fast)"},"variants":{"size":{"xs":{"thumb":"coarse:size-3.5"},"sm":{"thumb":"coarse:size-4"},"md":{"thumb":"coarse:size-4.5"},"lg":{"thumb":"coarse:size-5"}}}},"stepper":{"slots":{"trigger":"focus-visible:outline-2 focus-visible:outline-offset-2","title":"font-bold","separator":"opacity-60 group-data-[state=completed]:opacity-100"}},"switch":{"slots":{"base":"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)] duration-(--motion-base)","thumb":"shadow-md duration-(--motion-base) ease-(--motion-ease-out)"},"variants":{"size":{"xs":{"base":"coarse:w-8","thumb":"coarse:size-3.5 coarse:data-[state=checked]:translate-x-3.5"},"sm":{"base":"coarse:w-9","container":"coarse:h-5","thumb":"coarse:size-4 coarse:data-[state=checked]:translate-x-4","wrapper":"coarse:text-sm"},"md":{"base":"coarse:w-10","thumb":"coarse:size-4.5 coarse:data-[state=checked]:translate-x-4.5"},"lg":{"base":"coarse:w-11","container":"coarse:h-6","thumb":"coarse:size-5 coarse:data-[state=checked]:translate-x-5","wrapper":"coarse:text-base"}}}},"table":{"slots":{"th":"text-xs font-bold uppercase tracking-wider text-default","td":"text-default","empty":"text-dimmed"}},"tabs":{"slots":{"indicator":"duration-(--motion-base) ease-(--motion-ease-in-out)","trigger":"font-bold"},"variants":{"size":{"xs":{"trigger":"coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5"},"sm":{"trigger":"coarse:px-3 coarse:text-sm","leadingIcon":"coarse:size-5"},"md":{"trigger":"coarse:py-2 coarse:gap-2"},"lg":{"trigger":"coarse:text-base","leadingIcon":"coarse:size-6"}}},"compoundVariants":[{"variant":"pill","class":{"list":"bg-default ring ring-inset ring-accented"}},{"variant":"pill","size":"xs","class":{"list":"rounded-md","indicator":"rounded-sm"}},{"variant":"pill","size":"sm","class":{"list":"rounded-md coarse:rounded-lg","indicator":"rounded-sm coarse:rounded-md"}},{"variant":"pill","size":"md","class":{"list":"rounded-lg","indicator":"rounded-md"}},{"variant":"pill","size":"lg","class":{"list":"rounded-lg","indicator":"rounded-md"}},{"variant":"pill","size":"xl","class":{"list":"rounded-lg","indicator":"rounded-md"}}]},"textarea":{"slots":{"base":"transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"},"variants":{"size":{"xs":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5"},"sm":{"base":"rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]","leadingIcon":"touch:size-5","trailingIcon":"touch:size-5"},"md":{"base":"[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2"},"lg":{"base":"[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-6","trailingIcon":"touch:size-6"},"xl":{"base":"[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]","leadingIcon":"touch:size-7","trailingIcon":"touch:size-7"}},"color":{"primary":"[--forest-input-halo:var(--forest-halo-primary)]","secondary":"[--forest-input-halo:var(--forest-halo-secondary)]","success":"[--forest-input-halo:var(--forest-halo-success)]","info":"[--forest-input-halo:var(--forest-halo-info)]","warning":"[--forest-input-halo:var(--forest-halo-warning)]","error":"[--forest-input-halo:var(--forest-halo-error)]","forest":"[--forest-input-halo:var(--forest-halo-forest)]","maple":"[--forest-input-halo:var(--forest-halo-maple)]","river":"[--forest-input-halo:var(--forest-halo-river)]","warm":"[--forest-input-halo:var(--forest-halo-warm)]","acid":"[--forest-input-halo:var(--forest-halo-acid)]","neutral":"[--forest-input-halo:var(--forest-halo-neutral)]"}},"compoundVariants":[{"variant":"ghost","class":{"base":"shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"}}]},"timeline":{"slots":{"title":"font-bold"}},"toast":{"slots":{"root":"rounded-xl gap-3 focus:outline-none","title":"font-bold"}},"toaster":{"slots":{"base":"data-[front=false]:*:duration-(--motion-instant) data-[state=closed]:animate-[toast-closed_var(--motion-fast)_var(--motion-ease-out)] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_var(--motion-fast)_var(--motion-ease-out)] data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_var(--motion-base)_var(--motion-ease-out)] data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_var(--motion-base)_var(--motion-ease-out)] duration-(--motion-base) ease-(--motion-ease-out)"},"variants":{"swipeDirection":{"up":"data-[swipe=end]:animate-[toast-slide-up_var(--motion-fast)_var(--motion-ease-out)]","right":"data-[swipe=end]:animate-[toast-slide-right_var(--motion-fast)_var(--motion-ease-out)]","down":"data-[swipe=end]:animate-[toast-slide-down_var(--motion-fast)_var(--motion-ease-out)]","left":"data-[swipe=end]:animate-[toast-slide-left_var(--motion-fast)_var(--motion-ease-out)]"}},"compoundVariants":[{"position":["top-left","top-center","top-right"],"class":{"base":"data-[state=open]:animate-[toast-slide-in-from-top_var(--motion-base)_var(--motion-ease-out)]"}},{"position":["bottom-left","bottom-center","bottom-right"],"class":{"base":"data-[state=open]:animate-[toast-slide-in-from-bottom_var(--motion-base)_var(--motion-ease-out)]"}}]},"tooltip":{"slots":{"content":"bg-inverted text-inverted rounded-lg data-[state=delayed-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=instant-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-instant)_var(--motion-ease-out)]","arrow":"fill-[var(--ui-bg-inverted)]"}},"tree":{"slots":{"link":"focus-visible:before:ring-inset focus-visible:before:ring-2","linkTrailingIcon":"duration-(--motion-fast) ease-(--motion-ease-out)"},"variants":{"size":{"xs":{"link":"coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5"},"sm":{"link":"coarse:text-sm","linkLeadingIcon":"coarse:size-5","linkTrailingIcon":"coarse:size-5"},"md":{"link":"coarse:px-3 coarse:py-2 coarse:gap-2"},"lg":{"link":"coarse:text-base","linkLeadingIcon":"coarse:size-6","linkTrailingIcon":"coarse:size-6"}}}},"user":{"slots":{"name":"font-bold","wrapper":"min-w-0"},"variants":{"to":{"true":{"avatar":"duration-(--motion-fast) ease-(--motion-ease-out)"}}}},"icons":{"star":"i-forest-star-fill"},"colors":{"primary":"forest","secondary":"warm","success":"forest","info":"river","warning":"amber","error":"maple","neutral":"neutral"}},"theme":{"colors":["secondary","success","info","warning","error","forest","maple","river","warm","acid"]}}