@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 +3 -2
- package/package.json +1 -1
- package/packages/charts/src/FCalendarGrid.vue +1 -1
- package/packages/charts/src/FDistributionBar.vue +1 -1
- package/packages/charts/src/FDottedMap.vue +3 -1
- package/packages/charts/src/FLondonMap.vue +1 -1
- package/packages/charts/src/FSparkline.vue +11 -2
- package/packages/charts/src/FStatusTrack.vue +1 -1
- package/packages/ui/src/contexts/marketing-theme.ts +1 -1
- package/packages/ui/src/filter/FFilterChip.vue +24 -6
- package/packages/ui/src/kpi/FKpi.vue +18 -17
- package/packages/ui/src/kpi/FKpiGroup.vue +15 -7
- package/packages/ui/src/kpi/kpi.theme.ts +12 -4
- package/packages/ui/src/kpi/kpiFormat.ts +14 -0
- package/packages/ui/src/logo/FSubLogo.vue +9 -7
- package/packages/ui/src/map/FVehicleMark.vue +6 -12
- package/packages/ui/src/themes/button.mechanics.ts +27 -17
- package/packages/ui/src/themes/button.ts +0 -2
- package/theme.gen.json +1 -1
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
|
|
46
|
-
//
|
|
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.
|
|
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
|
-
|
|
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
|
-
/**
|
|
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: '
|
|
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,
|
|
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
|
-
|
|
153
|
-
|
|
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(
|
|
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:
|
|
162
|
-
|
|
163
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
147
|
-
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
the
|
|
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
|
|
58
|
-
//
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
'
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
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"]}}
|