@mkbabb/glass-ui 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/{CommandShortcut-_INFUMu6.js → CommandShortcut-BNDzfFnB.js} +2 -2
  4. package/dist/{ContextMenuSubContent-DCkweFW9.js → ContextMenuSubContent-DLEyeqbh.js} +3 -3
  5. package/dist/{DialogContent-CmCijgX9.js → DialogContent-DSo7PKlU.js} +1 -1
  6. package/dist/{DialogFooter-DRdaCok0.js → DialogFooter-D5KY6sCX.js} +1 -1
  7. package/dist/{Notification-DrI1DT2v.js → Notification-D97JO0fK.js} +2 -2
  8. package/dist/{SelectScrollDownButton-yu8EYUnu.js → SelectScrollDownButton-BwTexKeY.js} +2 -2
  9. package/dist/{Toaster-DY8_jtHv.js → Toaster-CY8gJu9E.js} +69 -58
  10. package/dist/animated-digit.js +1 -1
  11. package/dist/aurora.js +100 -87
  12. package/dist/carousel.js +4 -4
  13. package/dist/{check-dwgetki8.js → check-Nuw7H9Yh.js} +1 -1
  14. package/dist/{chevron-down-DILQA1t6.js → chevron-down-Du2b9vY_.js} +1 -1
  15. package/dist/{chevron-right-fS7fal2t.js → chevron-right-CtDxpE3w.js} +1 -1
  16. package/dist/{chevron-up-BtYjYQOS.js → chevron-up-CenYokvI.js} +1 -1
  17. package/dist/command.js +1 -1
  18. package/dist/components/custom/aurora/composables/runtime.d.ts +24 -1
  19. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +1 -1
  20. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +6 -4
  21. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +1 -1
  22. package/dist/components/ui/drawer/Drawer.vue.d.ts +25 -2
  23. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -1
  24. package/dist/components/ui/drawer/index.d.ts +9 -0
  25. package/dist/components/ui/toast/Toaster.vue.d.ts +7 -1
  26. package/dist/components/ui/toast/index.d.ts +1 -0
  27. package/dist/components/ui/toast/use-toast.d.ts +14 -1
  28. package/dist/composables/dark/index.d.ts +1 -0
  29. package/dist/composables/dom/index.d.ts +1 -0
  30. package/dist/composables/dom/useIdleReady.d.ts +63 -0
  31. package/dist/composables/index.d.ts +1 -0
  32. package/dist/composables/motion/core/index.d.ts +6 -0
  33. package/dist/composables/motion/index.d.ts +0 -7
  34. package/dist/configurator.js +1 -1
  35. package/dist/confirm-dialog.js +1 -1
  36. package/dist/constants-D-8FN28s.js +13 -0
  37. package/dist/context-menu.js +1 -1
  38. package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-rHu18UQW.js} +2 -2
  39. package/dist/dark.d.ts +1 -1
  40. package/dist/dark.js +12 -1
  41. package/dist/dialog.js +2 -2
  42. package/dist/dock.js +1 -1
  43. package/dist/dom.js +2 -2
  44. package/dist/{dropdown-menu-2K-SGkZU.js → dropdown-menu-gHSkffW7.js} +2 -2
  45. package/dist/dropdown-menu.js +1 -1
  46. package/dist/expandable-container.js +2 -2
  47. package/dist/forms.js +2 -2
  48. package/dist/glass-ui.css +1 -1
  49. package/dist/glass-ui.js +139 -115
  50. package/dist/icon-tooltip.js +1 -1
  51. package/dist/keyboard.js +1 -1
  52. package/dist/labeled-field.js +3 -3
  53. package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-C_oyKVwZ.js} +1 -1
  54. package/dist/motion-core.d.ts +1 -0
  55. package/dist/motion-core.js +192 -0
  56. package/dist/motion.js +25 -227
  57. package/dist/notification.js +1 -1
  58. package/dist/responsive-tabs.js +1 -1
  59. package/dist/{search-ocd8tmL9.js → search-7XEx_6hq.js} +1 -1
  60. package/dist/search.js +4 -4
  61. package/dist/select.js +1 -1
  62. package/dist/{sheet-CLVkb3AO.js → sheet-BsBdO5jq.js} +1 -1
  63. package/dist/sheet.js +1 -1
  64. package/dist/sortable-list.js +6 -3
  65. package/dist/status-dot.js +16 -13
  66. package/dist/styles/dock.css +72 -95
  67. package/dist/styles/drawer.css +138 -0
  68. package/dist/styles/index.css +18 -2
  69. package/dist/styles/instrument-chassis.css +28 -1
  70. package/dist/styles/theme.css +3 -0
  71. package/dist/styles/tokens.css +109 -266
  72. package/dist/styles/typography.css +44 -131
  73. package/dist/styles/utilities.css +23 -58
  74. package/dist/toast.js +1 -1
  75. package/dist/{useAnimatedNumber-DcvTR9B4.js → useAnimatedNumber-2l13GibX.js} +9 -20
  76. package/dist/{useConfiguratorState-BlaevW0S.js → useConfiguratorState-BpZi8QJu.js} +5 -5
  77. package/dist/{useBreakpoint-BHlX-MhR.js → useIdleReady-DlzJicQH.js} +29 -1
  78. package/dist/{x-cdWAmO-q.js → x-Cb3NE2Ne.js} +1 -1
  79. package/package.json +12 -5
  80. package/src/styles/dock.css +72 -95
  81. package/src/styles/drawer.css +138 -0
  82. package/src/styles/index.css +14 -2
  83. package/src/styles/instrument-chassis.css +28 -1
  84. package/src/styles/theme.css +3 -0
  85. package/src/styles/tokens.css +109 -266
  86. package/src/styles/typography.css +44 -131
  87. package/src/styles/utilities.css +23 -58
  88. package/dist/composables/motion/useSpringOrchestrator.d.ts +0 -15
  89. /package/dist/{IconTooltip-ge_mBSWR.js → IconTooltip-GIeWdo64.js} +0 -0
  90. /package/dist/{Input-CbakTe3B.js → Input-CBvqW8kZ.js} +0 -0
  91. /package/dist/composables/{motion → dark}/installDarkModeSync.d.ts +0 -0
  92. /package/dist/{useKeyboardShortcuts-B1ev1YEC.js → useKeyboardShortcuts-CPO4AhLx.js} +0 -0
@@ -0,0 +1,63 @@
1
+ import { type Ref } from "vue";
2
+ export interface UseIdleReadyOptions {
3
+ /**
4
+ * `requestIdleCallback` timeout, in ms. Default 2_000 — the canonical
5
+ * value at every speedtest hand-rolled site (App.vue + useIPInfo both
6
+ * pass `{ timeout: 2000 }`). Unlike useViewportReady's 10s (which fronts
7
+ * the budget with an IO gate), useIdleReady has no visibility stage, so
8
+ * the timeout is the only ceiling — 2s matches the consumer sites and
9
+ * keeps the deferred work inside a reasonable post-paint window.
10
+ */
11
+ timeout?: number;
12
+ /**
13
+ * Optional task run the moment the gate flips (the scope-aware variant —
14
+ * useIPInfo's `() => void refresh()`). Runs exactly once; auto-cancelled
15
+ * on scope dispose with the rIC handle so a short-lived consumer cannot
16
+ * leak a deferred write to disposed refs. Consumers that only need the
17
+ * `ready` ref omit it.
18
+ */
19
+ onReady?: () => void;
20
+ }
21
+ export interface UseIdleReadyControls {
22
+ /** Flips `false → true` exactly once on the first idle tick (post-mount). */
23
+ readonly ready: Ref<boolean>;
24
+ /** Tear down the pending idle/timer handle. Auto-called on scope dispose. */
25
+ stop: () => void;
26
+ }
27
+ /**
28
+ * `useIdleReady(options?)` — `requestIdleCallback` (+ `setTimeout(0)` Safari
29
+ * fallback) post-mount idle gate that flips a `Ref<boolean>` exactly once on
30
+ * the first idle tick, and optionally runs an `onReady` task at that moment.
31
+ *
32
+ * The rIC-only sibling of `useViewportReady` — same one-shot `ready` ref +
33
+ * `stop()` shape, same auto-dispose discipline — minus the
34
+ * `IntersectionObserver` visibility stage. The gate is "idle, full stop", not
35
+ * "visible AND idle"; reach for it when there is no element to gate on (a
36
+ * top-level lazy mount, a composable's first-idle data fetch).
37
+ *
38
+ * Two unified use shapes:
39
+ *
40
+ * 1. `ready`-flag — `v-if`-gate a heavy mount on the returned ref:
41
+ * const { ready } = useIdleReady();
42
+ * // <Aurora v-if="ready" />
43
+ * 2. scope-aware task — run a callback on first idle, cancelled on dispose:
44
+ * useIdleReady({ onReady: () => void refresh() });
45
+ * The handle is auto-cancelled on Vue scope disposal so a short-lived
46
+ * consumer cannot leak a deferred write to disposed refs.
47
+ *
48
+ * The composable schedules synchronously at call time (NOT inside an
49
+ * `onMounted`) so it works outside a component too (e.g. inside `useIPInfo`,
50
+ * a composable not a component). SSR / non-browser flips synchronously so
51
+ * consumers don't stall.
52
+ *
53
+ * Why this exists (speedtest origin, glass-ui promotion AO.W3): the gate is
54
+ * hand-rolled at 5 speedtest sites (App.vue, MapView.vue, DashboardMap.vue,
55
+ * useAutoStart.ts, useIPInfo.ts) — the ≥2-consumer substrate-promotion gate
56
+ * (J inv 10 / L inv 8) fires for a publisher-side absorption.
57
+ *
58
+ * @param options.timeout Default `2000` ms — forwarded to `requestIdleCallback`.
59
+ * @param options.onReady Optional one-shot task run on the idle flip.
60
+ * @returns Object with `ready: Ref<boolean>` (flips false → true once) and
61
+ * `stop()` for manual disposal outside a Vue scope.
62
+ */
63
+ export declare function useIdleReady(options?: UseIdleReadyOptions): UseIdleReadyControls;
@@ -3,6 +3,7 @@ export * from "./keyboard";
3
3
  export * from "./reactive";
4
4
  export * from "./dom";
5
5
  export * from "./motion";
6
+ export * from "./motion/core";
6
7
  export * from "./glass";
7
8
  export * from "./sortable";
8
9
  export * from "./sidebar";
@@ -0,0 +1,6 @@
1
+ export * from "../constants";
2
+ export * from "../useStaggerReveal";
3
+ export * from "../useScrollProgress";
4
+ export * from "../useRAFLoop";
5
+ export * from "../useIntersectionPause";
6
+ export * from "../useStagger";
@@ -3,12 +3,5 @@ export * from "./useSpring";
3
3
  export * from "./useSpringMount";
4
4
  export * from "./useSpringPress";
5
5
  export * from "./useNumericTransition";
6
- export * from "./useSpringOrchestrator";
7
- export * from "./useStaggerReveal";
8
- export * from "./useScrollProgress";
9
6
  export * from "./useAnimatedNumber";
10
7
  export * from "./useAnimatedNumberMap";
11
- export * from "./installDarkModeSync";
12
- export * from "./useRAFLoop";
13
- export * from "./useIntersectionPause";
14
- export * from "./useStagger";
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-BlaevW0S.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-BpZi8QJu.js";
2
2
  export { e as CONFIGURATOR_DENSITY_KEY, t as Configurator, i as ConfiguratorLayer, n as ConfiguratorRow, r as provideConfiguratorDensity, o as useConfiguratorState, a as useOptionalConfiguratorDensity };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
1
+ import { t as e } from "./createLucideIcon-rHu18UQW.js";
2
2
  import { n as t } from "./button-BlOW34DT.js";
3
3
  import { t as n } from "./_plugin-vue_export-helper-n-_DRHWS.js";
4
4
  import { Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, openBlock as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, withCtx as _, withKeys as v, withModifiers as y } from "vue";
@@ -0,0 +1,13 @@
1
+ //#region src/composables/motion/constants.ts
2
+ var e = {
3
+ canvasNeedle: .08,
4
+ domHero: .12,
5
+ domPill: .14,
6
+ domProgress: .18
7
+ }, t = {
8
+ canvas: .002,
9
+ dom: .05,
10
+ domProgress: .5
11
+ };
12
+ //#endregion
13
+ export { t as n, e as t };
@@ -1,3 +1,3 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-DCkweFW9.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-DLEyeqbh.js";
2
2
  import { n as l, r as u, t as d } from "./ContextMenuContent-CvXfU5qz.js";
3
3
  export { u as ContextMenu, s as ContextMenuCheckboxItem, d as ContextMenuContent, t as ContextMenuItem, o as ContextMenuLabel, r as ContextMenuRadioGroup, a as ContextMenuRadioItem, n as ContextMenuSeparator, e as ContextMenuShortcut, c as ContextMenuSubContent, i as ContextMenuSubTrigger, l as ContextMenuTrigger };
@@ -1,5 +1,5 @@
1
1
  import { computed as e, h as t, inject as n } from "vue";
2
- //#region node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
2
+ //#region ../../../Users/mkbabb/Programming/glass-ui/node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
3
3
  var r = (e) => e === "", i = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), a = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), o = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), s = (e) => {
4
4
  let t = o(e);
5
5
  return t.charAt(0).toUpperCase() + t.slice(1);
@@ -18,7 +18,7 @@ function u() {
18
18
  return n(l, {});
19
19
  }
20
20
  //#endregion
21
- //#region node_modules/@lucide/vue/dist/esm/Icon.mjs
21
+ //#region ../../../Users/mkbabb/Programming/glass-ui/node_modules/@lucide/vue/dist/esm/Icon.mjs
22
22
  var d = ({ name: n, iconNode: o, absoluteStrokeWidth: l, "absolute-stroke-width": d, strokeWidth: f, "stroke-width": p, size: m, color: h, ...g }, { slots: _ }) => {
23
23
  let { size: v, color: y, strokeWidth: b = 2, absoluteStrokeWidth: x = !1, class: S = "" } = u(), C = e(() => {
24
24
  let e = r(l) || r(d) || l === !0 || d === !0 || x === !0, t = f || p || b || c["stroke-width"];
package/dist/dark.d.ts CHANGED
@@ -1 +1 @@
1
- export { useGlobalDark } from "./composables/dark";
1
+ export { useGlobalDark, installDarkModeSync } from "./composables/dark";
package/dist/dark.js CHANGED
@@ -1,2 +1,13 @@
1
1
  import { t as e } from "./useGlobalDark-PMiP5Jku.js";
2
- export { e as useGlobalDark };
2
+ import { nextTick as t, watch as n } from "vue";
3
+ //#region src/composables/dark/installDarkModeSync.ts
4
+ function r(r) {
5
+ let { isDark: i } = e();
6
+ n(i, () => {
7
+ t(() => {
8
+ requestAnimationFrame(r);
9
+ });
10
+ });
11
+ }
12
+ //#endregion
13
+ export { r as installDarkModeSync, e as useGlobalDark };
package/dist/dialog.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as e, t } from "./DialogContent-CmCijgX9.js";
2
- import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./DialogFooter-DRdaCok0.js";
1
+ import { n as e, t } from "./DialogContent-DSo7PKlU.js";
2
+ import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./DialogFooter-D5KY6sCX.js";
3
3
  export { e as Dialog, s as DialogClose, t as DialogContent, o as DialogDescription, c as DialogFooter, n as DialogHeader, i as DialogScrollContent, r as DialogTitle, a as DialogTrigger };
package/dist/dock.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./chevron-down-DILQA1t6.js";
2
+ import { t } from "./chevron-down-Du2b9vY_.js";
3
3
  import { i as n, n as r, r as i, t as a } from "./dockContext-BDGSrwsV.js";
4
4
  import { t as o } from "./useTouchGate-BhhEMlwJ.js";
5
5
  import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, inject as h, mergeModels as g, mergeProps as _, nextTick as v, normalizeClass as y, normalizeStyle as b, onBeforeUnmount as x, onMounted as S, onUnmounted as C, openBlock as w, provide as T, ref as E, renderList as D, renderSlot as O, resolveDynamicComponent as k, toDisplayString as A, unref as j, useAttrs as M, useModel as N, useTemplateRef as P, watch as F, withCtx as I } from "vue";
package/dist/dom.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { t as e } from "./useTouchGate-BhhEMlwJ.js";
2
2
  import { t } from "./useResizeObserver-F4aRR4Cj.js";
3
- import { a as n, i as r, n as i, r as a, t as o } from "./useBreakpoint-BHlX-MhR.js";
4
- export { a as copyToClipboard, o as useBreakpoint, r as useClipboard, t as useResizeObserver, n as useTokenColor, e as useTouchGate, i as useViewportReady };
3
+ import { a as n, i as r, n as i, o as a, r as o, t as s } from "./useIdleReady-DlzJicQH.js";
4
+ export { r as copyToClipboard, i as useBreakpoint, n as useClipboard, s as useIdleReady, t as useResizeObserver, a as useTokenColor, e as useTouchGate, o as useViewportReady };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./check-dwgetki8.js";
3
- import { t as n } from "./chevron-right-fS7fal2t.js";
2
+ import { t } from "./check-Nuw7H9Yh.js";
3
+ import { t as n } from "./chevron-right-CtDxpE3w.js";
4
4
  import { t as r } from "./menuItemVariants-B2nDL7zH.js";
5
5
  import { i } from "./dockContext-BDGSrwsV.js";
6
6
  import { computed as a, createBlock as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, guardReactiveProps as d, mergeProps as f, normalizeClass as p, normalizeProps as m, openBlock as h, renderSlot as g, unref as _, withCtx as v } from "vue";
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-2K-SGkZU.js";
1
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-gHSkffW7.js";
2
2
  export { i as DropdownMenu, o as DropdownMenuCheckboxItem, u as DropdownMenuContent, r as DropdownMenuGroup, m as DropdownMenuItem, e as DropdownMenuLabel, p as DropdownMenuPortal, n as DropdownMenuRadioGroup, t as DropdownMenuRadioItem, l as DropdownMenuSeparator, f as DropdownMenuShortcut, a as DropdownMenuSub, c as DropdownMenuSubContent, d as DropdownMenuSubTrigger, s as DropdownMenuTrigger };
@@ -1,5 +1,5 @@
1
- import { n as e, t } from "./minimize-2-LsCJ_eNt.js";
2
- import { i as n } from "./useKeyboardShortcuts-B1ev1YEC.js";
1
+ import { n as e, t } from "./minimize-2-C_oyKVwZ.js";
2
+ import { i as n } from "./useKeyboardShortcuts-CPO4AhLx.js";
3
3
  import { Fragment as r, Teleport as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeClass as p, onMounted as m, onUnmounted as h, openBlock as g, renderSlot as _, unref as v, useModel as y, watch as b } from "vue";
4
4
  //#region src/components/custom/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
5
5
  var x = {
package/dist/forms.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./search-ocd8tmL9.js";
2
+ import { t } from "./search-7XEx_6hq.js";
3
3
  import { t as n } from "./menuItemVariants-B2nDL7zH.js";
4
- import { t as r } from "./Input-CbakTe3B.js";
4
+ import { t as r } from "./Input-CBvqW8kZ.js";
5
5
  import { createBlock as i, createCommentVNode as a, createElementBlock as o, createTextVNode as s, createVNode as c, defineComponent as l, isRef as u, mergeProps as d, normalizeClass as f, openBlock as p, renderSlot as m, toDisplayString as h, unref as g, vModelText as _, withCtx as v, withDirectives as y } from "vue";
6
6
  import { ComboboxAnchor as b, ComboboxCancel as x, ComboboxContent as S, ComboboxEmpty as C, ComboboxGroup as w, ComboboxInput as T, ComboboxItem as E, ComboboxItemIndicator as D, ComboboxLabel as O, ComboboxPortal as k, ComboboxRoot as A, ComboboxSeparator as j, ComboboxTrigger as M, ComboboxViewport as N, useForwardProps as P, useForwardPropsEmits as F } from "reka-ui";
7
7
  import { reactiveOmit as I, useVModel as L } from "@vueuse/core";
package/dist/glass-ui.css CHANGED
@@ -1,2 +1,2 @@
1
- .animated-digit[data-v-881e52ea]{font-feature-settings:"ss01", "tnum", "lnum";font-variant-numeric:tabular-nums lining-nums}.aurora-root[data-v-80ea8f7d]{display:grid}.aurora-root>.aurora-placeholder[data-v-80ea8f7d],.aurora-root>.aurora-canvas[data-v-80ea8f7d]{grid-area:1/1}.aurora-root>.aurora-placeholder[data-v-80ea8f7d]{opacity:var(--aurora-opacity-ceiling,1)}.aurora-canvas[data-v-80ea8f7d]{opacity:0;transition:opacity .6s ease-out}.aurora-canvas--armed[data-v-80ea8f7d]{opacity:var(--aurora-opacity-ceiling,1)}@media (prefers-reduced-motion:reduce){.aurora-canvas[data-v-80ea8f7d]{transition-duration:1ms}}.card-header--shrink[data-v-522d190a]{background:var(--card-header-bg);animation:linear both card-header-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 120px}.card-header--shrink>[data-slot=card-title][data-v-522d190a]{animation:linear both card-title-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 120px}.card-header--shrink>[data-slot=card-description][data-v-522d190a]{grid-template-rows:1fr;margin-top:.125rem;animation:linear both card-desc-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 80px;display:grid;overflow:hidden}.card-header--shrink>[data-slot=card-description][data-v-522d190a]>*{min-height:0}@keyframes card-header-shrink-522d190a{0%{padding-top:1rem;padding-bottom:.5rem}to{padding-top:.5rem;padding-bottom:.25rem}}@keyframes card-title-shrink-522d190a{0%{font-size:var(--type-heading)}to{font-size:var(--type-prose)}}@keyframes card-desc-shrink-522d190a{0%{opacity:1;grid-template-rows:1fr;margin-top:.125rem}to{opacity:0;grid-template-rows:0fr;margin-top:0}}@media (prefers-reduced-motion:reduce){.card-header--shrink[data-v-522d190a],.card-header--shrink>[data-slot=card-title][data-v-522d190a],.card-header--shrink>[data-slot=card-description][data-v-522d190a]{animation-duration:.01ms!important}}.configurator-row[data-density=mobile][data-v-e6e34000]{gap:var(--configurator-row-gap-mobile);padding-block:var(--configurator-row-py-mobile)}.configurator-row[data-density=compact][data-v-e6e34000]{gap:var(--configurator-row-gap-compact);padding-block:var(--configurator-row-py-compact)}.configurator-row[data-density=comfortable][data-v-e6e34000]{gap:var(--configurator-row-gap-comfortable);padding-block:var(--configurator-row-py-comfortable)}.configurator-row[data-density=spacious][data-v-e6e34000]{gap:var(--configurator-row-gap-spacious);padding-block:var(--configurator-row-py-spacious)}.confirm-panel-enter-active[data-v-01b48b6e]{transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out)}.confirm-panel-leave-active[data-v-01b48b6e]{transition:opacity var(--duration-fast) var(--ease-in), transform var(--duration-fast) var(--ease-in)}.confirm-panel-enter-from[data-v-01b48b6e],.confirm-panel-leave-to[data-v-01b48b6e]{opacity:0;transform:scale(var(--scale-press))}.toggle-sun[data-v-f361509a]{transform-origin:50%;transition:transform .75s var(--spring-bouncy)}.toggle-circle[data-v-f361509a]{transition:transform .5s var(--ease-out);transform:translate(0%)}:where(.dark) .dark-mode-toggle-button .toggle-sun[data-v-f361509a]{transform:rotate(.5turn)}:where(.dark) .dark-mode-toggle-button .toggle-circle[data-v-f361509a]{transform:translate(-15%)}.skeleton-shimmer[data-v-bb7e255e]{position:relative;overflow:hidden}.skeleton-shimmer[data-v-bb7e255e]:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--muted-foreground) 30%, transparent) 50%, transparent 100%);will-change:transform;animation:1.5s linear infinite skeleton-shimmer-slide-bb7e255e;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer-slide-bb7e255e{to{transform:translate(100%)}}.skeleton-breath[data-v-bb7e255e]{animation:skeleton-breath-cycle-bb7e255e var(--skeleton-breath-duration,var(--animate-ambient-pulse-duration,6s)) var(--animate-ambient-pulse-easing,var(--motion-ease-apple,ease)) infinite;will-change:opacity}@keyframes skeleton-breath-cycle-bb7e255e{0%,to{opacity:var(--pulse-aura-opacity-min,.55)}50%{opacity:var(--pulse-aura-opacity-max,.95)}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer[data-v-bb7e255e]:after{animation:none}.skeleton-breath[data-v-bb7e255e]{opacity:var(--pulse-aura-opacity-min,.55);animation:none}}.glass-carousel[data-v-6bf8a252]{border-radius:var(--radius-dock);border:1px solid var(--glass-border-wash);transition:height var(--duration-normal) var(--spring-snappy), width var(--duration-normal) var(--spring-snappy), padding var(--duration-normal) var(--spring-snappy), gap var(--duration-normal) var(--spring-snappy), border-radius var(--duration-normal) var(--spring-snappy), box-shadow var(--duration-normal) var(--ease-standard), background var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--spring-snappy);background:0 0;align-items:center;padding:.375rem;display:inline-flex;overflow:hidden}.glass-carousel[data-v-6bf8a252]:hover{box-shadow:var(--glass-shadow-wash)}.glass-carousel--no-transition[data-v-6bf8a252]{transition:none!important}.glass-carousel--animating[data-v-6bf8a252]{overflow:hidden!important}.glass-carousel__scroll-root[data-v-6bf8a252]{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.glass-carousel__viewport[data-v-6bf8a252]{--mask-fade-width:1.5rem;width:100%;height:100%}.glass-carousel__content[data-v-6bf8a252]{align-items:stretch;gap:.25rem;display:flex}.glass-carousel__content--vertical[data-v-6bf8a252]{flex-direction:column}.glass-carousel__content--horizontal[data-v-6bf8a252]{flex-direction:row}.glass-carousel--expanded .glass-carousel__content[data-v-6bf8a252]{height:100%}.glass-carousel--expanded .glass-carousel__content--vertical[data-v-6bf8a252]{justify-content:stretch}.glass-carousel--expanded .glass-carousel__content--vertical[data-v-6bf8a252]>.glass-carousel-item,.glass-carousel--expanded .glass-carousel__content--horizontal[data-v-6bf8a252]>.glass-carousel-item{flex:1}.glass-carousel--collapsed .glass-carousel__content[data-v-6bf8a252]{justify-content:center;gap:.125rem}.glass-carousel--collapsed .glass-carousel__content--vertical[data-v-6bf8a252]>.glass-carousel-item,.glass-carousel--collapsed .glass-carousel__content--horizontal[data-v-6bf8a252]>.glass-carousel-item{flex:none}.glass-carousel--animating .glass-carousel__content[data-v-6bf8a252]{opacity:0;pointer-events:none;transition:opacity var(--duration-instant) var(--ease-standard)}.glass-carousel:not(.glass-carousel--animating) .glass-carousel__content[data-v-6bf8a252]{opacity:1;transition:opacity var(--duration-instant) var(--ease-standard)}.glass-carousel-item[data-v-744cf22e]{white-space:nowrap;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius-pill);min-width:2rem;min-height:2rem;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--spring-snappy), flex-basis var(--duration-normal) var(--spring-snappy), min-height var(--duration-normal) var(--spring-snappy), padding var(--duration-normal) var(--spring-snappy), font-size var(--duration-normal) var(--spring-snappy);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem .625rem;display:flex}.glass-carousel-item[data-v-744cf22e]:hover{background:var(--surface-tint-6);color:var(--foreground);transform:scale(1.03)}.glass-carousel-item[data-v-744cf22e]:active{transform:scale(var(--scale-press))}.glass-carousel-item--active[data-v-744cf22e]{background:var(--surface-tint-8);color:var(--foreground)}.glass-carousel-item--active[data-v-744cf22e]:hover{background:var(--surface-tint-10)}.glass-panel[data-v-40b63b72]{position:relative}.glass-panel--svg[data-v-40b63b72]{background:var(--glass-bg-wash)}.glass-panel--fallback[data-v-40b63b72]{background:var(--glass-bg-floating);border:1px solid var(--glass-border-floating)}.notification-enter-active[data-v-d7b5ebdf],.notification-leave-active[data-v-d7b5ebdf]{transition:opacity var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard)}.notification-enter-from[data-v-d7b5ebdf],.notification-leave-to[data-v-d7b5ebdf]{opacity:0;transform:translate(100%)}.notification-move[data-v-d7b5ebdf]{transition:transform var(--duration-normal) var(--ease-standard)}.metric-badge__label[data-v-d57a1670]{font-weight:var(--metric-badge-label-weight,300)}.scrolling-text[data-v-ed6cda0e]{vertical-align:bottom;max-width:100%;display:inline-flex;overflow:hidden}.scrolling-text[data-overflows][data-v-ed6cda0e]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - .75rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - .75rem),#0000 100%)}.scrolling-text__content[data-v-ed6cda0e]{white-space:nowrap;will-change:transform;display:inline-block}.scrolling-text[data-overflows] .scrolling-text__content[data-v-ed6cda0e]{animation:scrolling-text-pan-ed6cda0e var(--scroll-duration,8s) cubic-bezier(.45, 0, .55, 1) infinite}@keyframes scrolling-text-pan-ed6cda0e{0%,15%{transform:translate(0)}50%,65%{transform:translateX(calc(-1 * var(--scroll-distance,0px)))}to{transform:translate(0)}}.scrolling-text[data-overflows]:hover .scrolling-text__content[data-v-ed6cda0e]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.scrolling-text[data-overflows][data-v-ed6cda0e]{scrollbar-width:thin;overflow-x:auto}.scrolling-text[data-overflows] .scrolling-text__content[data-v-ed6cda0e]{animation:none}}.progress-gradient-rail[data-lifecycle=loading][data-v-ca211071]{animation:progress-intake-pulse-ca211071 var(--motion-duration-progress-intake,.22s) var(--motion-ease-standard,ease-out) 1}.progress-gradient-rail[data-lifecycle=complete] [data-state=complete][data-v-ca211071]{animation:progress-discharge-glow-ca211071 var(--motion-duration-progress-crescendo,.24s) var(--motion-ease-standard,ease-out) 1}.progress-gradient-rail[data-indeterminate][data-v-ca211071]{background:linear-gradient(90deg, var(--progress-track,var(--secondary)) 0%, color-mix(in srgb, var(--progress-fill,var(--primary)) 60%, var(--progress-track,var(--secondary))) 50%, var(--progress-track,var(--secondary)) 100%);animation:progress-indeterminate-sweep-ca211071 var(--motion-duration-progress-indeterminate,4s) linear infinite;background-size:200% 100%}.progress-gradient-rail[data-indeterminate][data-v-ca211071]>*{display:none}.progress-gradient-rail[data-lifecycle=progressing]:not([data-crescendo=disabled]) [data-state][data-v-ca211071],.progress-gradient-rail[data-lifecycle=complete]:not([data-crescendo=disabled]) [data-state=complete][data-v-ca211071]{background-image:linear-gradient(to right, transparent 0%, transparent 80%, color-mix(in srgb, #fff var(--progress-crescendo,0%), transparent) 100%);background-blend-mode:screen;background-repeat:no-repeat;background-size:100% 100%}@keyframes progress-intake-pulse-ca211071{0%{opacity:.6}50%{opacity:1}to{opacity:.85}}@keyframes progress-discharge-glow-ca211071{0%{box-shadow:inset -.25rem 0 .5rem -.125rem #0000}40%{box-shadow:inset -.25rem 0 .75rem -.125rem #fffffff2}to{box-shadow:inset -.25rem 0 .5rem -.125rem #0000}}@keyframes progress-indeterminate-sweep-ca211071{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.progress-gradient-rail[data-lifecycle=loading][data-v-ca211071],.progress-gradient-rail[data-lifecycle=complete] [data-state=complete][data-v-ca211071]{animation:none}.progress-gradient-rail[data-indeterminate][data-v-ca211071]{background-position:0 0;background-size:100% 100%;animation:none}}.progress-sectioned-rail[data-v-ca211071]{background:linear-gradient(to bottom, color-mix(in srgb, var(--shadow-color,#000) 10%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--shadow-color,#000) 4%, transparent) 100%), var(--progress-sectioned-track,var(--secondary,#ebebeb));box-shadow:inset 0 1px 1.5px color-mix(in srgb, var(--shadow-color,#000) 18%, transparent), inset 0 -1px 0 #ffffff1f, 0 1px 2px color-mix(in srgb, var(--shadow-color,#000) 8%, transparent)}.progress-sectioned-cell[data-v-ca211071]{background:color-mix(in srgb, var(--cell-color) 12%, transparent);transition:background var(--duration-normal,.3s) var(--ease-apple,ease);position:absolute;inset-block:0;overflow:hidden}.progress-sectioned-cell[data-state=completed][data-v-ca211071]{background:0 0}.progress-sectioned-cell[data-state=active][data-v-ca211071]{background:color-mix(in srgb, var(--cell-color) 18%, transparent)}.progress-sectioned-fill[data-v-ca211071]{left:0;background:linear-gradient(180deg, color-mix(in srgb, var(--cell-color) 95%, white 12%) 0%, var(--cell-color) 55%, color-mix(in srgb, var(--cell-color) 88%, black 8%) 100%);box-shadow:inset 0 1px 0 #ffffff47, inset 0 -1px 0 color-mix(in srgb, var(--shadow-color,#000) 18%, transparent);transition:width var(--duration-slow,.45s) var(--spring-snappy,var(--ease-apple-spring,ease-out));will-change:width;border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill);position:absolute;inset-block:0}.progress-sectioned-cell[data-state=completed] .progress-sectioned-fill[data-v-ca211071]{transition:none}.progress-sectioned-sweep[data-v-ca211071]{pointer-events:none;animation:progress-sectioned-sweep-ca211071 1.8s var(--ease-apple,ease) infinite;mix-blend-mode:overlay;opacity:.65;background:linear-gradient(100deg,#0000 30%,#fff6 50%,#0000 70%) 200% 0/220% 100%;position:absolute;inset:0}@keyframes progress-sectioned-sweep-ca211071{0%{background-position:220% 0}to{background-position:-120% 0}}.progress-sectioned-seam[data-v-ca211071]{pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--seam-from) 60%, transparent) 0%, color-mix(in srgb, var(--seam-from) 35%, transparent) 30%, #ffffff2e 50%, color-mix(in srgb, var(--seam-to) 35%, transparent) 70%, color-mix(in srgb, var(--seam-to) 60%, transparent) 100%);opacity:.5;mix-blend-mode:screen;width:clamp(.5rem,6%,1.5rem);position:absolute;inset-block:0;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.progress-sectioned-fill[data-v-ca211071]{transition-duration:.01ms}.progress-sectioned-sweep[data-v-ca211071]{opacity:0;animation:none}}.slider-track[data-v-41099404]{border-radius:var(--radius-pill);width:100%;height:var(--slider-track-height,.375rem);background:var(--slider-track-bg,var(--muted-medium));transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-grow:1;position:relative;overflow:hidden}.slider-range[data-v-41099404]{background:var(--slider-range-bg,var(--surface-tint-25));height:100%;transition:background var(--duration-fast) var(--ease-standard);position:absolute}.slider-thumb[data-v-41099404]{width:var(--slider-thumb-size,1rem);height:var(--slider-thumb-size,1rem);border-radius:var(--radius-pill);border:var(--slider-thumb-border-width,2px) solid var(--slider-thumb-border-color,var(--background));background:var(--slider-thumb-bg,var(--foreground));box-shadow:var(--slider-thumb-shadow,var(--shadow-sm));transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:block}.glass-slider:active .slider-thumb[data-v-41099404]{transform:scale(var(--scale-press-btn))}.glass-slider[data-disabled] .slider-thumb[data-v-41099404]{pointer-events:none;opacity:var(--opacity-disabled)}.glass-slider[data-variant=spectrum] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * 1.5);background:var(--slider-track-bg,var(--secondary))}.glass-slider[data-variant=spectrum] .slider-range[data-v-41099404]{background:0 0}.glass-slider[data-variant=spectrum] .slider-thumb[data-v-41099404]{width:calc(var(--slider-thumb-size,1rem) * .75);border-color:var(--slider-thumb-border-color,var(--surface-tint-40));height:100%;box-shadow:none;background:0 0}.glass-slider[data-variant=timeline] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * 1.5);background:var(--slider-track-bg,var(--surface-tint-6));-webkit-backdrop-filter:var(--glass-blur-quiet);backdrop-filter:var(--glass-blur-quiet)}.glass-slider[data-variant=timeline] .slider-range[data-v-41099404]{background:var(--slider-range-bg,var(--surface-tint-8));border-radius:var(--radius-pill)}.glass-slider[data-variant=timeline] .slider-thumb[data-v-41099404]{background:var(--slider-thumb-bg,var(--surface-tint-15));box-shadow:none;border:none}.glass-slider[data-variant=glass-pill] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * .875);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-quiet);backdrop-filter:var(--glass-blur-quiet);border:1px solid var(--surface-tint-8)}.glass-slider[data-variant=glass-pill] .slider-range[data-v-41099404]{background:linear-gradient(to right, var(--surface-tint-15), var(--surface-tint-25));border-radius:var(--radius-pill)}.glass-slider[data-variant=glass-pill] .slider-thumb[data-v-41099404]{background:var(--background);border:1.5px solid var(--surface-tint-22);box-shadow:var(--shadow-md)}.glass-slider[data-variant=glass-pill]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-pill] .slider-thumb[data-v-41099404]:focus-visible{box-shadow:0 0 0 6px var(--surface-tint-12), var(--shadow-md)}.glass-slider[data-held] .slider-thumb[data-v-41099404]{box-shadow:0 0 0 8px var(--surface-tint-15), var(--shadow-md)}.glass-slider[data-variant=glass-pill][data-held] .slider-thumb[data-v-41099404]{box-shadow:0 0 0 10px var(--surface-tint-18), var(--shadow-md)}.glass-slider[data-variant=glass-cartoon] .slider-track[data-v-41099404]{background:var(--card);border:2px solid var(--border)}.glass-slider[data-variant=glass-cartoon] .slider-range[data-v-41099404]{background:var(--surface-tint-25)}.glass-slider[data-variant=glass-cartoon] .slider-thumb[data-v-41099404]{background:var(--background);border:2px solid var(--border);box-shadow:var(--shadow-cartoon-sm)}.glass-slider[data-variant=glass-cartoon]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-cartoon] .slider-thumb[data-v-41099404]:focus-visible{box-shadow:var(--shadow-cartoon-md)}.glass-slider[data-variant=glass-cartoon]:active .slider-thumb[data-v-41099404]{box-shadow:var(--shadow-cartoon-accent,var(--shadow-cartoon-sm))}.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]{height:var(--slider-scrub-track-height,1.25rem);background:var(--slider-scrub-track-bg,var(--surface-tint-6));-webkit-backdrop-filter:var(--slider-scrub-backdrop,var(--glass-blur-quiet));backdrop-filter:var(--slider-scrub-backdrop,var(--glass-blur-quiet));cursor:pointer}.glass-slider[data-variant=glass-scrubber]:hover .slider-track[data-v-41099404],.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]:focus-within{background:var(--slider-scrub-track-bg-hover,var(--surface-tint-8))}.glass-slider[data-variant=glass-scrubber] .slider-range[data-v-41099404]{background:var(--slider-scrub-range-bg,var(--surface-tint-8));border-radius:var(--radius-pill)}.glass-slider[data-variant=glass-scrubber]:hover .slider-range[data-v-41099404]{background:var(--slider-scrub-range-bg-hover,var(--surface-tint-15))}.glass-slider[data-variant=glass-scrubber] .slider-thumb[data-v-41099404]{width:var(--slider-scrub-thumb-width,.375rem);height:var(--slider-scrub-thumb-height,1rem);background:var(--slider-scrub-thumb-bg,var(--surface-tint-25));box-shadow:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), width var(--duration-fast) var(--ease-standard), height var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:none;border-radius:2px}.glass-slider[data-variant=glass-scrubber]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-scrubber] .slider-thumb[data-v-41099404]:focus-visible,.glass-slider[data-variant=glass-scrubber][data-held] .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-scrubber][data-touch-active] .slider-thumb[data-v-41099404]{opacity:1;width:var(--slider-scrub-thumb-width-hover,.5rem);height:var(--slider-scrub-thumb-height-hover,1.125rem);background:var(--slider-scrub-thumb-bg-hover,var(--surface-tint-40))}.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--ring) 40%, transparent)}.header-items-wrapper[data-v-4ec8212f]{--header-max-width:30rem;max-width:var(--header-max-width);opacity:1;transition:max-width var(--duration-slow) var(--ease-standard), margin var(--duration-slow) var(--ease-standard), opacity var(--duration-normal) var(--ease-decelerate);overflow:visible}.header-items-left[data-v-4ec8212f]{margin-left:.75rem}.header-items-right[data-v-4ec8212f]{margin-right:.75rem}:is(.header-collapsed-left[data-v-4ec8212f],.header-collapsed-right[data-v-4ec8212f]){opacity:0;pointer-events:none;max-width:0;overflow:hidden}.header-collapsed-left[data-v-4ec8212f]{margin-left:0}.header-collapsed-right[data-v-4ec8212f]{margin-right:0}.metric-stack[data-v-ab48e590]{--result-row-scale:1;width:100%;max-width:min(54rem,100%);min-block-size:clamp(calc(4rem * var(--metric-stack-rows,4)), 48cqi, calc(7rem * var(--metric-stack-rows,4)));grid-template-columns:[icon]minmax(0,auto)[label]minmax(0,auto)[value]minmax(0,auto);gap:clamp(.25rem,1cqi,.75rem) clamp(.5rem,2cqi,1.25rem);margin-inline:auto;display:grid;container-type:inline-size}.metric-stack[data-variant=dpi][data-v-ab48e590]{--result-row-scale:1.25}.metric-stack[data-register=result][data-v-ab48e590]{--metric-row-value-clamp-min:2rem;--metric-row-value-clamp-cqi:9cqi;--metric-row-value-clamp-max:3rem;--metric-row-unit-clamp-min:.875rem;--metric-row-unit-clamp-max:1.375rem;--metric-row-label-clamp-min:.9375rem;--metric-row-label-clamp-cqi:3cqi;--metric-row-label-clamp-max:1.375rem;min-block-size:clamp(calc(2.75rem * var(--metric-stack-rows,4)), 28cqi, calc(4.5rem * var(--metric-stack-rows,4)))}.metric-row[data-v-628730c2]{grid-template-columns:subgrid;grid-column:1/-1;grid-template-rows:auto auto;grid-auto-flow:dense;min-width:0;padding-block:clamp(.125rem,.5cqi,.5rem);display:grid}.metric-row>.metric-row__icon[data-v-628730c2],.metric-row>.metric-row__label[data-v-628730c2],.metric-row>.metric-row__value[data-v-628730c2]{grid-row:1;align-self:baseline}.metric-row__label[data-v-628730c2]{text-transform:uppercase;font-size:clamp(var(--metric-row-label-clamp-min), calc(var(--metric-row-label-clamp-cqi) * var(--result-row-scale,1)), var(--metric-row-label-clamp-max));letter-spacing:.18em;color:var(--muted-foreground);white-space:nowrap;font-weight:500}.metric-row__value[data-v-628730c2]{--digit-count:3;align-items:baseline;gap:var(--metric-row-value-unit-gap,.25em);font-size:clamp(var(--metric-row-value-clamp-min), calc(var(--metric-row-value-clamp-cqi) * var(--result-row-scale,1) * 3 / max(3, var(--digit-count))), var(--metric-row-value-clamp-max));letter-spacing:var(--type-tracking-tight);font-feature-settings:"ss01", "tnum", "lnum";font-variant-numeric:tabular-nums lining-nums;color:var(--foreground);text-align:left;min-width:0;font-weight:400;line-height:.95;transition:color .22s ease-out;display:inline-flex;position:relative}.metric-row__unit[data-v-628730c2]{font-size:clamp(var(--metric-row-unit-clamp-min), calc(6cqi * var(--result-row-scale,1)), var(--metric-row-unit-clamp-max));color:var(--muted-foreground);white-space:nowrap;font-weight:500;line-height:1;transition:color .22s ease-out}.metric-row[data-color-tinted=true] .metric-row__value[data-v-628730c2]{color:var(--metric-row-value-color,var(--phase-color))}.metric-row[data-color-tinted=true] .metric-row__unit[data-v-628730c2]{color:var(--metric-row-unit-color,var(--phase-color))}.metric-row__icon[data-v-628730c2]{flex-shrink:0;width:1rem;height:1rem}.metric-row .metric-row__description[data-v-628730c2-s],.metric-row .result-description[data-v-628730c2-s]{font-size:var(--type-small);color:var(--muted-foreground);grid-area:2/1/auto/-1;margin-block-start:.125rem;line-height:1.4;display:none}@container metric-stack (width>=32rem){.metric-row .metric-row__description[data-v-628730c2-s],.metric-row .result-description[data-v-628730c2-s]{display:block}}.pulse-dot[data-v-5d1d41d2]{opacity:.35;width:.375rem;height:.375rem;animation:pulse-dot-bounce calc(var(--pulse-duration) * 2) ease-in-out infinite;animation-delay:calc(var(--pulse-index,0) * (var(--pulse-duration) * .3));background:currentColor;border-radius:9999px;display:inline-block}.pulse-ring[data-v-5d1d41d2]{width:1rem;height:1rem;animation:pulse-ring-spin var(--pulse-duration) linear infinite;border:2px solid;border-top-color:#0000;border-radius:9999px;display:inline-block}.pulse-aura[data-v-5d1d41d2]{border-radius:inherit;pointer-events:none;z-index:var(--pulse-aura-z,0);background:radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--pulse-aura-color,currentColor) var(--pulse-aura-opacity-pct,55%), transparent) 0%, color-mix(in srgb, var(--pulse-aura-color,currentColor) calc(var(--pulse-aura-opacity-pct-num,55) * .35 * 1%), transparent) 45%, transparent 75%);opacity:var(--pulse-aura-opacity-min,.55);transform:scale(var(--animate-ambient-pulse-scale-min,1));animation:ambient-pulse var(--animate-ambient-pulse-duration,6s) var(--animate-ambient-pulse-easing,ease-in-out) infinite;will-change:transform, opacity;position:absolute;inset:0}.pulse-aura--once[data-v-5d1d41d2]{animation-iteration-count:1;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.pulse-dot[data-v-5d1d41d2],.pulse-ring[data-v-5d1d41d2]{opacity:.6;animation:none}.pulse-aura[data-v-5d1d41d2]{opacity:var(--pulse-aura-opacity-min,.55);animation:none;transform:scale(1)}}.underline-tabs[data-v-b77ed368]{gap:.25rem;display:flex;position:relative}.underline-indicator[data-v-b77ed368]{background:var(--foreground);border-radius:var(--radius-sm);height:2px;transition:transform var(--duration-normal) var(--ease-apple-spring), width var(--duration-normal) var(--ease-apple-spring);position:absolute;bottom:0;left:0}.underline-tab[data-v-b77ed368]{cursor:pointer;white-space:nowrap;font-weight:500;font:inherit;color:var(--muted-foreground);transition:color var(--duration-normal) var(--ease-standard);background:0 0;border:none;border-radius:.25rem;padding:.375rem .75rem;position:relative}.underline-tab[data-v-b77ed368]:hover{color:var(--surface-tint-70)}.underline-tab[aria-selected=true][data-v-b77ed368]{color:var(--foreground)}.sortable-drag-ghost{opacity:.92;box-shadow:0 0 0 2px var(--color-gold), 0 0 18px 2px color-mix(in srgb, var(--color-gold) 55%, transparent), 0 0 4px 0 color-mix(in srgb, var(--color-gold-light) 70%, transparent), 0 12px 32px -4px #00000059, 0 4px 12px -2px #0003;transform:rotate(1.5deg);transition:none!important}.sortable-drag-ghost *{transition:none!important;animation:none!important}.is-sortable-dragging{opacity:.35}.is-sortable-drop-above,.is-sortable-drop-below{position:relative}.is-sortable-drop-above:before,.is-sortable-drop-below:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--color-gold-dark) 55%, transparent), color-mix(in srgb, var(--color-gold-light) 80%, transparent), color-mix(in srgb, var(--color-gold) 90%, transparent), color-mix(in srgb, var(--color-gold-light) 80%, transparent), color-mix(in srgb, var(--color-gold-dark) 55%, transparent));height:5px;animation:shimmer var(--duration-shimmer,5s) linear infinite;box-shadow:0 0 10px color-mix(in srgb, var(--color-gold) 45%, transparent), 0 0 2px color-mix(in srgb, var(--color-gold-light) 60%, transparent);pointer-events:none;z-index:1;background-size:250% 100%;border-radius:999px;position:absolute;left:0;right:0}.is-sortable-drop-above:before{top:-2.5px}.is-sortable-drop-below:after{bottom:-2.5px}.sortable-item[data-v-ca5cd3d7]{-webkit-user-select:none;user-select:none}.sortable-handle[data-v-57437fb5]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.sortable-handle[data-v-57437fb5]:active{cursor:grabbing}.bouncy-toggle[data-v-61c8392f]{background:var(--muted-medium);border-radius:.4375rem;grid-auto-columns:1fr;grid-auto-flow:column;padding:.1875rem;display:inline-grid;position:relative}@media (width>=640px){.bouncy-toggle[data-v-61c8392f]{border-radius:.5rem;padding:.25rem}}.bouncy-slider[data-v-61c8392f]{background:var(--background);z-index:0;box-shadow:0 1px 3px #00000014, 0 0 0 1px color-mix(in srgb, var(--border) 30%, transparent);transition:transform var(--duration-normal) var(--spring-snappy), width var(--duration-normal) var(--spring-snappy), opacity var(--duration-fast) ease;border-radius:.3125rem;position:absolute;inset-block:.1875rem}@media (width>=640px){.bouncy-slider[data-v-61c8392f]{border-radius:.375rem;inset-block:.25rem}}.bouncy-btn[data-v-61c8392f]{z-index:10;cursor:pointer;white-space:nowrap;font-weight:500;font:inherit;color:var(--muted-foreground);transition:color var(--duration-fast) ease;background:0 0;border:none;border-radius:.3125rem;padding:.25rem .625rem;font-size:.8125rem;position:relative}@media (width>=640px){.bouncy-btn[data-v-61c8392f]{padding:.3125rem .75rem;font-size:.875rem}}.bouncy-btn[aria-pressed=true][data-v-61c8392f]{color:var(--foreground)}.bouncy-btn.is-disabled[data-v-61c8392f]{opacity:.4;cursor:not-allowed;pointer-events:none;filter:blur(.5px)}.bouncy-toggle--pill[data-v-61c8392f]{border-radius:var(--radius-pill);background:var(--surface-tint-6);gap:.125rem;padding:.125rem}.bouncy-slider--pill[data-v-61c8392f]{border-radius:var(--radius-pill);background:var(--foreground);box-shadow:none;inset-block:.125rem}.bouncy-btn--pill[data-v-61c8392f]{border-radius:var(--radius-pill);padding:.125rem .625rem;font-size:.75rem;font-weight:500}@media (width>=640px){.bouncy-btn--pill[data-v-61c8392f]{padding:.125rem .625rem;font-size:.75rem}}.bouncy-btn--pill[aria-pressed=true][data-v-61c8392f]{color:var(--background)}.bouncy-toggle--scroll[data-v-61c8392f],.bouncy-toggle--auto[data-v-61c8392f]{grid-auto-flow:unset;grid-auto-columns:unset;width:100%;display:flex;overflow:auto hidden}.timeline-row[data-v-1ae905c7]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-continuous[data-v-1ae905c7]{flex:1 1 0;min-width:0;padding:0}.continuous-track-wrap[data-v-1ae905c7]{width:100%;padding-block:calc(var(--timeline-dot-size,14px) * .6);margin-block:calc(var(--timeline-dot-size,14px) * -.6);opacity:var(--continuous-fill-opacity,1);transition:opacity var(--duration-normal,.3s) var(--ease-out,ease-out);position:relative}.continuous-track[data-v-1ae905c7]{width:100%;height:var(--timeline-continuous-height,12px);border-radius:var(--radius-pill);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-wash);position:relative;overflow:hidden}.continuous-region[data-v-1ae905c7]{transition:width var(--duration-slow,.45s) var(--ease-out,ease-out), left var(--duration-slow,.45s) var(--ease-out,ease-out), background var(--duration-fast,.2s) var(--ease-standard,ease);will-change:width, left, background;background:0 0;position:absolute;top:0;bottom:0}.continuous-region-fill[data-v-1ae905c7]{width:var(--continuous-fill-width,0%);background-image:var(--stitch-gradient,none);background-size:var(--stitch-size-x,100%) 100%;background-position-x:var(--stitch-pos-x,0%);transition:width var(--duration-slow,.45s) var(--ease-out,ease-out);will-change:width;pointer-events:none;background-position-y:50%;background-repeat:no-repeat;border-radius:0;position:absolute;inset:0}.continuous-region.is-first>.continuous-region-fill[data-v-1ae905c7]{border-start-start-radius:var(--radius-pill);border-end-start-radius:var(--radius-pill)}.continuous-region.is-last>.continuous-region-fill[data-v-1ae905c7]{border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill)}.continuous-region.state-completed>.continuous-region-fill[data-v-1ae905c7]{width:100%}.continuous-region.state-active>.continuous-region-fill[data-v-1ae905c7]{border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill)}.continuous-region.state-pending>.continuous-region-fill[data-v-1ae905c7]{background-image:none;width:0}.continuous-region[data-v-1ae905c7]:after{content:"";background:var(--timeline-continuous-seam-color,color-mix(in srgb, var(--foreground) calc(var(--timeline-continuous-seam-opacity,.25) * 100%), transparent));pointer-events:none;width:1px;position:absolute;top:10%;bottom:10%;right:0}.continuous-region.is-last[data-v-1ae905c7]:after{display:none}.continuous-markers[data-v-1ae905c7]{pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.continuous-marker[data-v-1ae905c7]{pointer-events:none;justify-content:center;align-items:center;line-height:0;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.continuous-marker[data-v-1ae905c7]>*{pointer-events:auto}.segmented-dot[data-v-1ae905c7]{box-sizing:border-box;width:var(--timeline-dot-size,14px);height:var(--timeline-dot-size,14px);background:var(--surface-tint-15);border:2px solid var(--background,white);box-shadow:0 1px 2px color-mix(in srgb, var(--shadow-color) 12%, transparent);cursor:pointer;z-index:1;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border-radius:50%;padding:0;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.segmented-dot[data-v-1ae905c7]:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none}.continuous-dot[data-v-1ae905c7]{background:var(--timeline-dot-fill);-webkit-backdrop-filter:var(--timeline-dot-blur);backdrop-filter:var(--timeline-dot-blur);border-color:var(--timeline-dot-ring);box-shadow:0 0 4px color-mix(in srgb, var(--shadow-color) 22%, transparent), inset 0 1px 1px color-mix(in srgb, var(--foreground) 8%, transparent);position:relative;right:auto;transform:none}.continuous-dot[data-v-1ae905c7]:hover,.continuous-dot[data-v-1ae905c7]:focus-visible{transform:scale(1.2)}.continuous-dot[data-v-1ae905c7]:before{content:"";border-radius:inherit;position:absolute;inset:-15px}@media (pointer:coarse){.continuous-dot[data-v-1ae905c7]{width:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px));height:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px))}.continuous-dot[data-v-1ae905c7]:before{inset:calc((var(--timeline-touch-target,44px) - var(--timeline-dot-size-touch,20px)) / -2)}}.continuous-dot[data-current][data-v-1ae905c7]{background:color-mix(in srgb, var(--timeline-dot-tint-current) 22%, var(--surface-tint-12));border-color:color-mix(in srgb, var(--timeline-dot-tint-current) 40%, var(--glass-border-floating))}.continuous-dot[data-state=completed][data-v-1ae905c7]{background:color-mix(in srgb, var(--timeline-dot-tint-completed) 22%, var(--surface-tint-12));border-color:color-mix(in srgb, var(--timeline-dot-tint-completed) 40%, var(--glass-border-floating))}.continuous-dot-check[data-v-1ae905c7]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.continuous-dot-check path[data-v-1ae905c7]{fill:none;stroke:var(--timeline-dot-check-color);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32;stroke-dashoffset:32px;animation:continuous-dot-check-draw-1ae905c7 var(--duration-slow,.45s) var(--ease-out,ease-out) var(--duration-fast,.2s) forwards}.continuous-dot[data-completed][data-v-1ae905c7]{animation:continuous-dot-pop-1ae905c7 var(--duration-normal,.3s) var(--ease-apple-spring,cubic-bezier(.2, .9, .25, 1.2))}@keyframes continuous-dot-check-draw-1ae905c7{0%{stroke-dashoffset:32px}to{stroke-dashoffset:0}}@keyframes continuous-dot-pop-1ae905c7{0%{transform:scale(.82)}60%{transform:scale(1.12)}to{transform:scale(1)}}.continuous-detail[data-v-1ae905c7]{min-height:var(--timeline-detail-min-height,1.25rem);margin-block-start:.25rem}.sr-only[data-v-1ae905c7]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.continuous-region[data-v-1ae905c7],.continuous-region-fill[data-v-1ae905c7],.continuous-dot[data-v-1ae905c7]{transition-duration:.01ms}.continuous-dot[data-completed][data-v-1ae905c7]{animation:none}.continuous-dot-check path[data-v-1ae905c7]{stroke-dashoffset:0;animation:none}}.timeline-popover{max-width:18rem;padding:.5rem .75rem}.timeline-popover .timeline-popover-body{border-left:2px solid var(--popover-tint,var(--foreground));flex-direction:column;gap:.125rem;padding-left:.5rem;display:flex}.timeline-popover .timeline-popover-label{letter-spacing:.04em;text-transform:uppercase;color:var(--popover-tint,var(--foreground));font-weight:600;font-size:var(--type-small,.85rem)}.timeline-popover .timeline-popover-value{font-family:var(--font-mono,"Fira Code", monospace);color:var(--popover-foreground,var(--foreground));font-weight:500;font-size:var(--type-body,1rem)}.timeline-popover .timeline-popover-description{font-size:var(--type-small,.85rem);color:var(--muted-foreground);line-height:1.4}.timeline-popover .timeline-popover-state{font-size:var(--type-mono-caption,.75rem);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-family:var(--font-mono,"Fira Code", monospace)}.timeline-row[data-v-a206e2d2]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-caret[data-v-a206e2d2]{pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);z-index:var(--z-popover);-webkit-user-select:none;user-select:none;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.timeline-row:hover .timeline-caret[data-v-a206e2d2]{opacity:1}.timeline-row:has(.glass-track:active) .timeline-caret[data-v-a206e2d2]{opacity:1}.caret-value[data-v-a206e2d2]{font-size:var(--type-small);color:var(--popover-foreground);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);white-space:nowrap;padding:.125rem .375rem;font-weight:500;display:block}.glass-track[data-v-a206e2d2]{border-radius:var(--radius-pill);background:var(--surface-tint-6);width:100%;height:24px;-webkit-backdrop-filter:var(--glass-blur-wash);backdrop-filter:var(--glass-blur-wash);cursor:pointer;touch-action:none;transition:background var(--duration-fast) var(--ease-standard);outline:none;position:relative;overflow:hidden}.glass-track[data-v-a206e2d2]:hover,.glass-track[data-v-a206e2d2]:focus-visible{background:var(--surface-tint-8)}.glass-track[data-v-a206e2d2]:focus-visible{box-shadow:var(--focus-ring-shadow)}.glass-fill[data-v-a206e2d2]{background:var(--surface-tint-8);border-radius:var(--radius-pill);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.glass-thumb[data-v-a206e2d2]{border-radius:var(--radius-sm);background:var(--surface-tint-25);opacity:0;pointer-events:none;width:6px;height:16px;transition:opacity var(--duration-fast) var(--ease-standard), width var(--duration-fast) var(--ease-standard), height var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);position:absolute;top:50%;transform:translate(calc(-50% - 3px),-50%)}.glass-track:hover .glass-thumb[data-v-a206e2d2]{opacity:1;background:var(--surface-tint-40);width:8px;height:18px}.timeline-row[data-v-2db316ec]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-segmented[data-v-2db316ec]{flex:1 1 0;min-width:0;padding:0}.segmented-track[data-v-2db316ec]{width:100%;height:var(--timeline-segmented-height,12px);border-radius:var(--radius-pill);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-wash);backdrop-filter:var(--glass-blur-wash);display:flex;position:relative;overflow:hidden}.segmented-cell[data-v-2db316ec]{flex:var(--timeline-segment-flex,1 1 0);min-width:0;height:100%;position:relative}.segmented-cell+.segmented-cell[data-v-2db316ec]{border-left:1px solid color-mix(in srgb, var(--foreground) 8%, transparent)}.segmented-band[data-v-2db316ec]{width:0%;transition:width var(--duration-slow,.45s) var(--ease-out,ease-out), background var(--duration-fast,.2s) var(--ease-standard,ease);will-change:width;position:absolute;inset:0}.segmented-dot[data-v-2db316ec]{box-sizing:border-box;width:var(--timeline-dot-size,14px);height:var(--timeline-dot-size,14px);background:var(--surface-tint-15);border:2px solid var(--background,white);box-shadow:0 1px 2px color-mix(in srgb, var(--shadow-color) 12%, transparent);cursor:pointer;z-index:1;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border-radius:50%;padding:0;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.segmented-dot[data-v-2db316ec]:before{content:"";border-radius:inherit;position:absolute;inset:-15px}@media (pointer:coarse){.segmented-dot[data-v-2db316ec]{width:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px));height:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px))}.segmented-dot[data-v-2db316ec]:before{inset:calc((var(--timeline-touch-target,44px) - var(--timeline-dot-size-touch,20px)) / -2)}}.segmented-dot[data-v-2db316ec]:hover,.segmented-dot[data-v-2db316ec]:focus-visible{background:var(--surface-tint-40);box-shadow:0 2px 6px color-mix(in srgb, var(--shadow-color) 18%, transparent);transform:translate(50%,-50%)scale(1.2)}.segmented-dot[data-v-2db316ec]:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none}.segmented-cell[data-state=active] .segmented-dot[data-v-2db316ec]{background:color-mix(in srgb, var(--accent,var(--foreground)) 60%, var(--surface-tint-15))}.segmented-cell[data-state=completed] .segmented-dot[data-v-2db316ec]{background:color-mix(in srgb, var(--success,var(--foreground)) 70%, var(--surface-tint-15))}.sr-only[data-v-2db316ec]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.segmented-band[data-v-2db316ec],.segmented-dot[data-v-2db316ec]{transition-duration:.01ms}}.tw-root[data-v-f7b6d096]{display:inline}.tw-tail[data-v-f7b6d096]{white-space:nowrap}.tw-char[data-v-f7b6d096]{display:inline}.tw-char--interactive[data-v-f7b6d096]{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard);margin:0 -1px;padding:0 1px}.tw-char--interactive[data-v-f7b6d096]:hover{background-color:#80808026}.tw-cursor[data-v-f7b6d096]{font-weight:100;display:inline-block}.tw-cursor--blink[data-v-f7b6d096]{animation:1.06s step-end infinite typewriter-blink}
1
+ .animated-digit[data-v-881e52ea]{font-feature-settings:"ss01", "tnum", "lnum";font-variant-numeric:tabular-nums lining-nums}.aurora-root[data-v-80ea8f7d]{display:grid}.aurora-root>.aurora-placeholder[data-v-80ea8f7d],.aurora-root>.aurora-canvas[data-v-80ea8f7d]{grid-area:1/1}.aurora-root>.aurora-placeholder[data-v-80ea8f7d]{opacity:var(--aurora-opacity-ceiling,1)}.aurora-canvas[data-v-80ea8f7d]{opacity:0;transition:opacity .6s ease-out}.aurora-canvas--armed[data-v-80ea8f7d]{opacity:var(--aurora-opacity-ceiling,1)}@media (prefers-reduced-motion:reduce){.aurora-canvas[data-v-80ea8f7d]{transition-duration:1ms}}.card-header--shrink[data-v-522d190a]{background:var(--card-header-bg);animation:linear both card-header-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 120px}.card-header--shrink>[data-slot=card-title][data-v-522d190a]{animation:linear both card-title-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 120px}.card-header--shrink>[data-slot=card-description][data-v-522d190a]{grid-template-rows:1fr;margin-top:.125rem;animation:linear both card-desc-shrink-522d190a;animation-timeline:--card-scroll;animation-range:0 80px;display:grid;overflow:hidden}.card-header--shrink>[data-slot=card-description][data-v-522d190a]>*{min-height:0}@keyframes card-header-shrink-522d190a{0%{padding-top:1rem;padding-bottom:.5rem}to{padding-top:.5rem;padding-bottom:.25rem}}@keyframes card-title-shrink-522d190a{0%{font-size:var(--type-heading)}to{font-size:var(--type-prose)}}@keyframes card-desc-shrink-522d190a{0%{opacity:1;grid-template-rows:1fr;margin-top:.125rem}to{opacity:0;grid-template-rows:0fr;margin-top:0}}@media (prefers-reduced-motion:reduce){.card-header--shrink[data-v-522d190a],.card-header--shrink>[data-slot=card-title][data-v-522d190a],.card-header--shrink>[data-slot=card-description][data-v-522d190a]{animation-duration:.01ms!important}}.configurator-row[data-density=mobile][data-v-e6e34000]{gap:var(--configurator-row-gap-mobile);padding-block:var(--configurator-row-py-mobile)}.configurator-row[data-density=compact][data-v-e6e34000]{gap:var(--configurator-row-gap-compact);padding-block:var(--configurator-row-py-compact)}.configurator-row[data-density=comfortable][data-v-e6e34000]{gap:var(--configurator-row-gap-comfortable);padding-block:var(--configurator-row-py-comfortable)}.configurator-row[data-density=spacious][data-v-e6e34000]{gap:var(--configurator-row-gap-spacious);padding-block:var(--configurator-row-py-spacious)}.confirm-panel-enter-active[data-v-01b48b6e]{transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out)}.confirm-panel-leave-active[data-v-01b48b6e]{transition:opacity var(--duration-fast) var(--ease-in), transform var(--duration-fast) var(--ease-in)}.confirm-panel-enter-from[data-v-01b48b6e],.confirm-panel-leave-to[data-v-01b48b6e]{opacity:0;transform:scale(var(--scale-press))}.toggle-sun[data-v-f361509a]{transform-origin:50%;transition:transform .75s var(--spring-bouncy)}.toggle-circle[data-v-f361509a]{transition:transform .5s var(--ease-out);transform:translate(0%)}:where(.dark) .dark-mode-toggle-button .toggle-sun[data-v-f361509a]{transform:rotate(.5turn)}:where(.dark) .dark-mode-toggle-button .toggle-circle[data-v-f361509a]{transform:translate(-15%)}.skeleton-shimmer[data-v-bb7e255e]{position:relative;overflow:hidden}.skeleton-shimmer[data-v-bb7e255e]:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--muted-foreground) 30%, transparent) 50%, transparent 100%);will-change:transform;animation:1.5s linear infinite skeleton-shimmer-slide-bb7e255e;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer-slide-bb7e255e{to{transform:translate(100%)}}.skeleton-breath[data-v-bb7e255e]{animation:skeleton-breath-cycle-bb7e255e var(--skeleton-breath-duration,var(--animate-ambient-pulse-duration,6s)) var(--animate-ambient-pulse-easing,var(--motion-ease-apple,ease)) infinite;will-change:opacity}@keyframes skeleton-breath-cycle-bb7e255e{0%,to{opacity:var(--pulse-aura-opacity-min,.55)}50%{opacity:var(--pulse-aura-opacity-max,.95)}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer[data-v-bb7e255e]:after{animation:none}.skeleton-breath[data-v-bb7e255e]{opacity:var(--pulse-aura-opacity-min,.55);animation:none}}.glass-carousel[data-v-6bf8a252]{border-radius:var(--radius-dock);border:1px solid var(--glass-border-wash);transition:height var(--duration-normal) var(--spring-snappy), width var(--duration-normal) var(--spring-snappy), padding var(--duration-normal) var(--spring-snappy), gap var(--duration-normal) var(--spring-snappy), border-radius var(--duration-normal) var(--spring-snappy), box-shadow var(--duration-normal) var(--ease-standard), background var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--spring-snappy);background:0 0;align-items:center;padding:.375rem;display:inline-flex;overflow:hidden}.glass-carousel[data-v-6bf8a252]:hover{box-shadow:var(--glass-shadow-wash)}.glass-carousel--no-transition[data-v-6bf8a252]{transition:none!important}.glass-carousel--animating[data-v-6bf8a252]{overflow:hidden!important}.glass-carousel__scroll-root[data-v-6bf8a252]{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.glass-carousel__viewport[data-v-6bf8a252]{--mask-fade-width:1.5rem;width:100%;height:100%}.glass-carousel__content[data-v-6bf8a252]{align-items:stretch;gap:.25rem;display:flex}.glass-carousel__content--vertical[data-v-6bf8a252]{flex-direction:column}.glass-carousel__content--horizontal[data-v-6bf8a252]{flex-direction:row}.glass-carousel--expanded .glass-carousel__content[data-v-6bf8a252]{height:100%}.glass-carousel--expanded .glass-carousel__content--vertical[data-v-6bf8a252]{justify-content:stretch}.glass-carousel--expanded .glass-carousel__content--vertical[data-v-6bf8a252]>.glass-carousel-item,.glass-carousel--expanded .glass-carousel__content--horizontal[data-v-6bf8a252]>.glass-carousel-item{flex:1}.glass-carousel--collapsed .glass-carousel__content[data-v-6bf8a252]{justify-content:center;gap:.125rem}.glass-carousel--collapsed .glass-carousel__content--vertical[data-v-6bf8a252]>.glass-carousel-item,.glass-carousel--collapsed .glass-carousel__content--horizontal[data-v-6bf8a252]>.glass-carousel-item{flex:none}.glass-carousel--animating .glass-carousel__content[data-v-6bf8a252]{opacity:0;pointer-events:none;transition:opacity var(--duration-instant) var(--ease-standard)}.glass-carousel:not(.glass-carousel--animating) .glass-carousel__content[data-v-6bf8a252]{opacity:1;transition:opacity var(--duration-instant) var(--ease-standard)}.glass-carousel-item[data-v-744cf22e]{white-space:nowrap;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius-pill);min-width:2rem;min-height:2rem;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--spring-snappy), flex-basis var(--duration-normal) var(--spring-snappy), min-height var(--duration-normal) var(--spring-snappy), padding var(--duration-normal) var(--spring-snappy), font-size var(--duration-normal) var(--spring-snappy);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem .625rem;display:flex}.glass-carousel-item[data-v-744cf22e]:hover{background:var(--surface-tint-6);color:var(--foreground);transform:scale(1.03)}.glass-carousel-item[data-v-744cf22e]:active{transform:scale(var(--scale-press))}.glass-carousel-item--active[data-v-744cf22e]{background:var(--surface-tint-8);color:var(--foreground)}.glass-carousel-item--active[data-v-744cf22e]:hover{background:var(--surface-tint-10)}.glass-panel[data-v-40b63b72]{position:relative}.glass-panel--svg[data-v-40b63b72]{background:var(--glass-bg-wash)}.glass-panel--fallback[data-v-40b63b72]{background:var(--glass-bg-floating);border:1px solid var(--glass-border-floating)}.notification-enter-active[data-v-d7b5ebdf],.notification-leave-active[data-v-d7b5ebdf]{transition:opacity var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard)}.notification-enter-from[data-v-d7b5ebdf],.notification-leave-to[data-v-d7b5ebdf]{opacity:0;transform:translate(100%)}.notification-move[data-v-d7b5ebdf]{transition:transform var(--duration-normal) var(--ease-standard)}.metric-badge__label[data-v-d57a1670]{font-weight:var(--metric-badge-label-weight,300)}.scrolling-text[data-v-ed6cda0e]{vertical-align:bottom;max-width:100%;display:inline-flex;overflow:hidden}.scrolling-text[data-overflows][data-v-ed6cda0e]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - .75rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - .75rem),#0000 100%)}.scrolling-text__content[data-v-ed6cda0e]{white-space:nowrap;will-change:transform;display:inline-block}.scrolling-text[data-overflows] .scrolling-text__content[data-v-ed6cda0e]{animation:scrolling-text-pan-ed6cda0e var(--scroll-duration,8s) cubic-bezier(.45, 0, .55, 1) infinite}@keyframes scrolling-text-pan-ed6cda0e{0%,15%{transform:translate(0)}50%,65%{transform:translateX(calc(-1 * var(--scroll-distance,0px)))}to{transform:translate(0)}}.scrolling-text[data-overflows]:hover .scrolling-text__content[data-v-ed6cda0e]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.scrolling-text[data-overflows][data-v-ed6cda0e]{scrollbar-width:thin;overflow-x:auto}.scrolling-text[data-overflows] .scrolling-text__content[data-v-ed6cda0e]{animation:none}}.progress-gradient-rail[data-lifecycle=loading][data-v-ca211071]{animation:progress-intake-pulse-ca211071 var(--motion-duration-progress-intake,.22s) var(--motion-ease-standard,ease-out) 1}.progress-gradient-rail[data-lifecycle=complete] [data-state=complete][data-v-ca211071]{animation:progress-discharge-glow-ca211071 var(--motion-duration-progress-crescendo,.24s) var(--motion-ease-standard,ease-out) 1}.progress-gradient-rail[data-indeterminate][data-v-ca211071]{background:linear-gradient(90deg, var(--progress-track,var(--secondary)) 0%, color-mix(in srgb, var(--progress-fill,var(--primary)) 60%, var(--progress-track,var(--secondary))) 50%, var(--progress-track,var(--secondary)) 100%);animation:progress-indeterminate-sweep-ca211071 var(--motion-duration-progress-indeterminate,4s) linear infinite;background-size:200% 100%}.progress-gradient-rail[data-indeterminate][data-v-ca211071]>*{display:none}.progress-gradient-rail[data-lifecycle=progressing]:not([data-crescendo=disabled]) [data-state][data-v-ca211071],.progress-gradient-rail[data-lifecycle=complete]:not([data-crescendo=disabled]) [data-state=complete][data-v-ca211071]{background-image:linear-gradient(to right, transparent 0%, transparent 80%, color-mix(in srgb, #fff var(--progress-crescendo,0%), transparent) 100%);background-blend-mode:screen;background-repeat:no-repeat;background-size:100% 100%}@keyframes progress-intake-pulse-ca211071{0%{opacity:.6}50%{opacity:1}to{opacity:.85}}@keyframes progress-discharge-glow-ca211071{0%{box-shadow:inset -.25rem 0 .5rem -.125rem #0000}40%{box-shadow:inset -.25rem 0 .75rem -.125rem #fffffff2}to{box-shadow:inset -.25rem 0 .5rem -.125rem #0000}}@keyframes progress-indeterminate-sweep-ca211071{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.progress-gradient-rail[data-lifecycle=loading][data-v-ca211071],.progress-gradient-rail[data-lifecycle=complete] [data-state=complete][data-v-ca211071]{animation:none}.progress-gradient-rail[data-indeterminate][data-v-ca211071]{background-position:0 0;background-size:100% 100%;animation:none}}.progress-sectioned-rail[data-v-ca211071]{background:linear-gradient(to bottom, color-mix(in srgb, var(--shadow-color,#000) 10%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--shadow-color,#000) 4%, transparent) 100%), var(--progress-sectioned-track,var(--secondary,#ebebeb));box-shadow:inset 0 1px 1.5px color-mix(in srgb, var(--shadow-color,#000) 18%, transparent), inset 0 -1px 0 #ffffff1f, 0 1px 2px color-mix(in srgb, var(--shadow-color,#000) 8%, transparent)}.progress-sectioned-cell[data-v-ca211071]{background:color-mix(in srgb, var(--cell-color) 12%, transparent);transition:background var(--duration-normal,.3s) var(--ease-apple,ease);position:absolute;inset-block:0;overflow:hidden}.progress-sectioned-cell[data-state=completed][data-v-ca211071]{background:0 0}.progress-sectioned-cell[data-state=active][data-v-ca211071]{background:color-mix(in srgb, var(--cell-color) 18%, transparent)}.progress-sectioned-fill[data-v-ca211071]{left:0;background:linear-gradient(180deg, color-mix(in srgb, var(--cell-color) 95%, white 12%) 0%, var(--cell-color) 55%, color-mix(in srgb, var(--cell-color) 88%, black 8%) 100%);box-shadow:inset 0 1px 0 #ffffff47, inset 0 -1px 0 color-mix(in srgb, var(--shadow-color,#000) 18%, transparent);transition:width var(--duration-slow,.45s) var(--spring-snappy,var(--ease-apple-spring,ease-out));will-change:width;border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill);position:absolute;inset-block:0}.progress-sectioned-cell[data-state=completed] .progress-sectioned-fill[data-v-ca211071]{transition:none}.progress-sectioned-sweep[data-v-ca211071]{pointer-events:none;animation:progress-sectioned-sweep-ca211071 1.8s var(--ease-apple,ease) infinite;mix-blend-mode:overlay;opacity:.65;background:linear-gradient(100deg,#0000 30%,#fff6 50%,#0000 70%) 200% 0/220% 100%;position:absolute;inset:0}@keyframes progress-sectioned-sweep-ca211071{0%{background-position:220% 0}to{background-position:-120% 0}}.progress-sectioned-seam[data-v-ca211071]{pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--seam-from) 60%, transparent) 0%, color-mix(in srgb, var(--seam-from) 35%, transparent) 30%, #ffffff2e 50%, color-mix(in srgb, var(--seam-to) 35%, transparent) 70%, color-mix(in srgb, var(--seam-to) 60%, transparent) 100%);opacity:.5;mix-blend-mode:screen;width:clamp(.5rem,6%,1.5rem);position:absolute;inset-block:0;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.progress-sectioned-fill[data-v-ca211071]{transition-duration:.01ms}.progress-sectioned-sweep[data-v-ca211071]{opacity:0;animation:none}}.slider-track[data-v-41099404]{border-radius:var(--radius-pill);width:100%;height:var(--slider-track-height,.375rem);background:var(--slider-track-bg,var(--muted-medium));transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-grow:1;position:relative;overflow:hidden}.slider-range[data-v-41099404]{background:var(--slider-range-bg,var(--surface-tint-25));height:100%;transition:background var(--duration-fast) var(--ease-standard);position:absolute}.slider-thumb[data-v-41099404]{width:var(--slider-thumb-size,1rem);height:var(--slider-thumb-size,1rem);border-radius:var(--radius-pill);border:var(--slider-thumb-border-width,2px) solid var(--slider-thumb-border-color,var(--background));background:var(--slider-thumb-bg,var(--foreground));box-shadow:var(--slider-thumb-shadow,var(--shadow-sm));transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:block}.glass-slider:active .slider-thumb[data-v-41099404]{transform:scale(var(--scale-press-btn))}.glass-slider[data-disabled] .slider-thumb[data-v-41099404]{pointer-events:none;opacity:var(--opacity-disabled)}.glass-slider[data-variant=spectrum] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * 1.5);background:var(--slider-track-bg,var(--secondary))}.glass-slider[data-variant=spectrum] .slider-range[data-v-41099404]{background:0 0}.glass-slider[data-variant=spectrum] .slider-thumb[data-v-41099404]{width:calc(var(--slider-thumb-size,1rem) * .75);border-color:var(--slider-thumb-border-color,var(--surface-tint-40));height:100%;box-shadow:none;background:0 0}.glass-slider[data-variant=timeline] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * 1.5);background:var(--slider-track-bg,var(--surface-tint-6));-webkit-backdrop-filter:var(--glass-blur-quiet);backdrop-filter:var(--glass-blur-quiet)}.glass-slider[data-variant=timeline] .slider-range[data-v-41099404]{background:var(--slider-range-bg,var(--surface-tint-8));border-radius:var(--radius-pill)}.glass-slider[data-variant=timeline] .slider-thumb[data-v-41099404]{background:var(--slider-thumb-bg,var(--surface-tint-15));box-shadow:none;border:none}.glass-slider[data-variant=glass-pill] .slider-track[data-v-41099404]{height:calc(var(--slider-thumb-size,1rem) * .875);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-quiet);backdrop-filter:var(--glass-blur-quiet);border:1px solid var(--surface-tint-8)}.glass-slider[data-variant=glass-pill] .slider-range[data-v-41099404]{background:linear-gradient(to right, var(--surface-tint-15), var(--surface-tint-25));border-radius:var(--radius-pill)}.glass-slider[data-variant=glass-pill] .slider-thumb[data-v-41099404]{background:var(--background);border:1.5px solid var(--surface-tint-22);box-shadow:var(--shadow-md)}.glass-slider[data-variant=glass-pill]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-pill] .slider-thumb[data-v-41099404]:focus-visible{box-shadow:0 0 0 6px var(--surface-tint-12), var(--shadow-md)}.glass-slider[data-held] .slider-thumb[data-v-41099404]{box-shadow:0 0 0 8px var(--surface-tint-15), var(--shadow-md)}.glass-slider[data-variant=glass-pill][data-held] .slider-thumb[data-v-41099404]{box-shadow:0 0 0 10px var(--surface-tint-18), var(--shadow-md)}.glass-slider[data-variant=glass-cartoon] .slider-track[data-v-41099404]{background:var(--card);border:2px solid var(--border)}.glass-slider[data-variant=glass-cartoon] .slider-range[data-v-41099404]{background:var(--surface-tint-25)}.glass-slider[data-variant=glass-cartoon] .slider-thumb[data-v-41099404]{background:var(--background);border:2px solid var(--border);box-shadow:var(--shadow-cartoon-sm)}.glass-slider[data-variant=glass-cartoon]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-cartoon] .slider-thumb[data-v-41099404]:focus-visible{box-shadow:var(--shadow-cartoon-md)}.glass-slider[data-variant=glass-cartoon]:active .slider-thumb[data-v-41099404]{box-shadow:var(--shadow-cartoon-accent,var(--shadow-cartoon-sm))}.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]{height:var(--slider-scrub-track-height,1.25rem);background:var(--slider-scrub-track-bg,var(--surface-tint-6));-webkit-backdrop-filter:var(--slider-scrub-backdrop,var(--glass-blur-quiet));backdrop-filter:var(--slider-scrub-backdrop,var(--glass-blur-quiet));cursor:pointer}.glass-slider[data-variant=glass-scrubber]:hover .slider-track[data-v-41099404],.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]:focus-within{background:var(--slider-scrub-track-bg-hover,var(--surface-tint-8))}.glass-slider[data-variant=glass-scrubber] .slider-range[data-v-41099404]{background:var(--slider-scrub-range-bg,var(--surface-tint-8));border-radius:var(--radius-pill)}.glass-slider[data-variant=glass-scrubber]:hover .slider-range[data-v-41099404]{background:var(--slider-scrub-range-bg-hover,var(--surface-tint-15))}.glass-slider[data-variant=glass-scrubber] .slider-thumb[data-v-41099404]{width:var(--slider-scrub-thumb-width,.375rem);height:var(--slider-scrub-thumb-height,1rem);background:var(--slider-scrub-thumb-bg,var(--surface-tint-25));box-shadow:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), width var(--duration-fast) var(--ease-standard), height var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:none;border-radius:2px}.glass-slider[data-variant=glass-scrubber]:hover .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-scrubber] .slider-thumb[data-v-41099404]:focus-visible,.glass-slider[data-variant=glass-scrubber][data-held] .slider-thumb[data-v-41099404],.glass-slider[data-variant=glass-scrubber][data-touch-active] .slider-thumb[data-v-41099404]{opacity:1;width:var(--slider-scrub-thumb-width-hover,.5rem);height:var(--slider-scrub-thumb-height-hover,1.125rem);background:var(--slider-scrub-thumb-bg-hover,var(--surface-tint-40))}.glass-slider[data-variant=glass-scrubber] .slider-track[data-v-41099404]:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--ring) 40%, transparent)}.header-items-wrapper[data-v-4ec8212f]{--header-max-width:30rem;max-width:var(--header-max-width);opacity:1;transition:max-width var(--duration-slow) var(--ease-standard), margin var(--duration-slow) var(--ease-standard), opacity var(--duration-normal) var(--ease-decelerate);overflow:visible}.header-items-left[data-v-4ec8212f]{margin-left:.75rem}.header-items-right[data-v-4ec8212f]{margin-right:.75rem}:is(.header-collapsed-left[data-v-4ec8212f],.header-collapsed-right[data-v-4ec8212f]){opacity:0;pointer-events:none;max-width:0;overflow:hidden}.header-collapsed-left[data-v-4ec8212f]{margin-left:0}.header-collapsed-right[data-v-4ec8212f]{margin-right:0}.metric-stack[data-v-ab48e590]{--result-row-scale:1;width:100%;max-width:min(54rem,100%);min-block-size:clamp(calc(4rem * var(--metric-stack-rows,4)), 48cqi, calc(7rem * var(--metric-stack-rows,4)));grid-template-columns:[icon]minmax(0,auto)[label]minmax(0,auto)[value]minmax(0,auto);gap:clamp(.25rem,1cqi,.75rem) clamp(.5rem,2cqi,1.25rem);margin-inline:auto;display:grid;container-type:inline-size}.metric-stack[data-variant=dpi][data-v-ab48e590]{--result-row-scale:1.25}.metric-stack[data-register=result][data-v-ab48e590]{--metric-row-value-clamp-min:2rem;--metric-row-value-clamp-cqi:9cqi;--metric-row-value-clamp-max:3rem;--metric-row-unit-clamp-min:.875rem;--metric-row-unit-clamp-max:1.375rem;--metric-row-label-clamp-min:.9375rem;--metric-row-label-clamp-cqi:3cqi;--metric-row-label-clamp-max:1.375rem;min-block-size:clamp(calc(2.75rem * var(--metric-stack-rows,4)), 28cqi, calc(4.5rem * var(--metric-stack-rows,4)))}.metric-row[data-v-628730c2]{grid-template-columns:subgrid;grid-column:1/-1;grid-template-rows:auto auto;grid-auto-flow:dense;min-width:0;padding-block:clamp(.125rem,.5cqi,.5rem);display:grid}.metric-row>.metric-row__icon[data-v-628730c2],.metric-row>.metric-row__label[data-v-628730c2],.metric-row>.metric-row__value[data-v-628730c2]{grid-row:1;align-self:baseline}.metric-row__label[data-v-628730c2]{text-transform:uppercase;font-size:clamp(var(--metric-row-label-clamp-min), calc(var(--metric-row-label-clamp-cqi) * var(--result-row-scale,1)), var(--metric-row-label-clamp-max));letter-spacing:.18em;color:var(--muted-foreground);white-space:nowrap;font-weight:500}.metric-row__value[data-v-628730c2]{--digit-count:3;align-items:baseline;gap:var(--metric-row-value-unit-gap,.25em);font-size:clamp(var(--metric-row-value-clamp-min), calc(var(--metric-row-value-clamp-cqi) * var(--result-row-scale,1) * 3 / max(3, var(--digit-count))), var(--metric-row-value-clamp-max));letter-spacing:var(--type-tracking-tight);font-feature-settings:"ss01", "tnum", "lnum";font-variant-numeric:tabular-nums lining-nums;color:var(--foreground);text-align:left;min-width:0;font-weight:400;line-height:.95;transition:color .22s ease-out;display:inline-flex;position:relative}.metric-row__unit[data-v-628730c2]{font-size:clamp(var(--metric-row-unit-clamp-min), calc(6cqi * var(--result-row-scale,1)), var(--metric-row-unit-clamp-max));color:var(--muted-foreground);white-space:nowrap;font-weight:500;line-height:1;transition:color .22s ease-out}.metric-row[data-color-tinted=true] .metric-row__value[data-v-628730c2]{color:var(--metric-row-value-color,var(--phase-color))}.metric-row[data-color-tinted=true] .metric-row__unit[data-v-628730c2]{color:var(--metric-row-unit-color,var(--phase-color))}.metric-row__icon[data-v-628730c2]{flex-shrink:0;width:1rem;height:1rem}.metric-row .metric-row__description[data-v-628730c2-s],.metric-row .result-description[data-v-628730c2-s]{font-size:var(--type-small);color:var(--muted-foreground);grid-area:2/1/auto/-1;margin-block-start:.125rem;line-height:1.4;display:none}@container metric-stack (width>=32rem){.metric-row .metric-row__description[data-v-628730c2-s],.metric-row .result-description[data-v-628730c2-s]{display:block}}.pulse-dot[data-v-5d1d41d2]{opacity:.35;width:.375rem;height:.375rem;animation:pulse-dot-bounce calc(var(--pulse-duration) * 2) ease-in-out infinite;animation-delay:calc(var(--pulse-index,0) * (var(--pulse-duration) * .3));background:currentColor;border-radius:9999px;display:inline-block}.pulse-ring[data-v-5d1d41d2]{width:1rem;height:1rem;animation:pulse-ring-spin var(--pulse-duration) linear infinite;border:2px solid;border-top-color:#0000;border-radius:9999px;display:inline-block}.pulse-aura[data-v-5d1d41d2]{border-radius:inherit;pointer-events:none;z-index:var(--pulse-aura-z,0);background:radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--pulse-aura-color,currentColor) var(--pulse-aura-opacity-pct,55%), transparent) 0%, color-mix(in srgb, var(--pulse-aura-color,currentColor) calc(var(--pulse-aura-opacity-pct-num,55) * .35 * 1%), transparent) 45%, transparent 75%);opacity:var(--pulse-aura-opacity-min,.55);transform:scale(var(--animate-ambient-pulse-scale-min,1));animation:ambient-pulse var(--animate-ambient-pulse-duration,6s) var(--animate-ambient-pulse-easing,ease-in-out) infinite;will-change:transform, opacity;position:absolute;inset:0}.pulse-aura--once[data-v-5d1d41d2]{animation-iteration-count:1;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.pulse-dot[data-v-5d1d41d2],.pulse-ring[data-v-5d1d41d2]{opacity:.6;animation:none}.pulse-aura[data-v-5d1d41d2]{opacity:var(--pulse-aura-opacity-min,.55);animation:none;transform:scale(1)}}.underline-tabs[data-v-b77ed368]{gap:.25rem;display:flex;position:relative}.underline-indicator[data-v-b77ed368]{background:var(--foreground);border-radius:var(--radius-sm);height:2px;transition:transform var(--duration-normal) var(--ease-apple-spring), width var(--duration-normal) var(--ease-apple-spring);position:absolute;bottom:0;left:0}.underline-tab[data-v-b77ed368]{cursor:pointer;white-space:nowrap;font-weight:500;font:inherit;color:var(--muted-foreground);transition:color var(--duration-normal) var(--ease-standard);background:0 0;border:none;border-radius:.25rem;padding:.375rem .75rem;position:relative}.underline-tab[data-v-b77ed368]:hover{color:var(--surface-tint-70)}.underline-tab[aria-selected=true][data-v-b77ed368]{color:var(--foreground)}.sortable-drag-ghost{opacity:.92;box-shadow:0 0 0 2px var(--color-gold), 0 0 18px 2px color-mix(in srgb, var(--color-gold) 55%, transparent), 0 0 4px 0 color-mix(in srgb, var(--color-gold-light) 70%, transparent), 0 12px 32px -4px #00000059, 0 4px 12px -2px #0003;transform:rotate(1.5deg);transition:none!important}.sortable-drag-ghost *{transition:none!important;animation:none!important}.is-sortable-dragging{opacity:.35}.is-sortable-drop-above,.is-sortable-drop-below{position:relative}.is-sortable-drop-above:before,.is-sortable-drop-below:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--color-gold-dark) 55%, transparent), color-mix(in srgb, var(--color-gold-light) 80%, transparent), color-mix(in srgb, var(--color-gold) 90%, transparent), color-mix(in srgb, var(--color-gold-light) 80%, transparent), color-mix(in srgb, var(--color-gold-dark) 55%, transparent));height:5px;animation:shimmer var(--duration-shimmer,5s) linear infinite;box-shadow:0 0 10px color-mix(in srgb, var(--color-gold) 45%, transparent), 0 0 2px color-mix(in srgb, var(--color-gold-light) 60%, transparent);pointer-events:none;z-index:1;background-size:250% 100%;border-radius:999px;position:absolute;left:0;right:0}.is-sortable-drop-above:before{top:-2.5px}.is-sortable-drop-below:after{bottom:-2.5px}.sortable-item[data-v-ca5cd3d7]{-webkit-user-select:none;user-select:none}.sortable-handle[data-v-695f8df8]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.sortable-handle[data-v-695f8df8]:active{cursor:grabbing}.bouncy-toggle[data-v-61c8392f]{background:var(--muted-medium);border-radius:.4375rem;grid-auto-columns:1fr;grid-auto-flow:column;padding:.1875rem;display:inline-grid;position:relative}@media (width>=640px){.bouncy-toggle[data-v-61c8392f]{border-radius:.5rem;padding:.25rem}}.bouncy-slider[data-v-61c8392f]{background:var(--background);z-index:0;box-shadow:0 1px 3px #00000014, 0 0 0 1px color-mix(in srgb, var(--border) 30%, transparent);transition:transform var(--duration-normal) var(--spring-snappy), width var(--duration-normal) var(--spring-snappy), opacity var(--duration-fast) ease;border-radius:.3125rem;position:absolute;inset-block:.1875rem}@media (width>=640px){.bouncy-slider[data-v-61c8392f]{border-radius:.375rem;inset-block:.25rem}}.bouncy-btn[data-v-61c8392f]{z-index:10;cursor:pointer;white-space:nowrap;font-weight:500;font:inherit;color:var(--muted-foreground);transition:color var(--duration-fast) ease;background:0 0;border:none;border-radius:.3125rem;padding:.25rem .625rem;font-size:.8125rem;position:relative}@media (width>=640px){.bouncy-btn[data-v-61c8392f]{padding:.3125rem .75rem;font-size:.875rem}}.bouncy-btn[aria-pressed=true][data-v-61c8392f]{color:var(--foreground)}.bouncy-btn.is-disabled[data-v-61c8392f]{opacity:.4;cursor:not-allowed;pointer-events:none;filter:blur(.5px)}.bouncy-toggle--pill[data-v-61c8392f]{border-radius:var(--radius-pill);background:var(--surface-tint-6);gap:.125rem;padding:.125rem}.bouncy-slider--pill[data-v-61c8392f]{border-radius:var(--radius-pill);background:var(--foreground);box-shadow:none;inset-block:.125rem}.bouncy-btn--pill[data-v-61c8392f]{border-radius:var(--radius-pill);padding:.125rem .625rem;font-size:.75rem;font-weight:500}@media (width>=640px){.bouncy-btn--pill[data-v-61c8392f]{padding:.125rem .625rem;font-size:.75rem}}.bouncy-btn--pill[aria-pressed=true][data-v-61c8392f]{color:var(--background)}.bouncy-toggle--scroll[data-v-61c8392f],.bouncy-toggle--auto[data-v-61c8392f]{grid-auto-flow:unset;grid-auto-columns:unset;width:100%;display:flex;overflow:auto hidden}.timeline-row[data-v-1ae905c7]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-continuous[data-v-1ae905c7]{flex:1 1 0;min-width:0;padding:0}.continuous-track-wrap[data-v-1ae905c7]{width:100%;padding-block:calc(var(--timeline-dot-size,14px) * .6);margin-block:calc(var(--timeline-dot-size,14px) * -.6);opacity:var(--continuous-fill-opacity,1);transition:opacity var(--duration-normal,.3s) var(--ease-out,ease-out);position:relative}.continuous-track[data-v-1ae905c7]{width:100%;height:var(--timeline-continuous-height,12px);border-radius:var(--radius-pill);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-wash);position:relative;overflow:hidden}.continuous-region[data-v-1ae905c7]{transition:width var(--duration-slow,.45s) var(--ease-out,ease-out), left var(--duration-slow,.45s) var(--ease-out,ease-out), background var(--duration-fast,.2s) var(--ease-standard,ease);will-change:width, left, background;background:0 0;position:absolute;top:0;bottom:0}.continuous-region-fill[data-v-1ae905c7]{width:var(--continuous-fill-width,0%);background-image:var(--stitch-gradient,none);background-size:var(--stitch-size-x,100%) 100%;background-position-x:var(--stitch-pos-x,0%);transition:width var(--duration-slow,.45s) var(--ease-out,ease-out);will-change:width;pointer-events:none;background-position-y:50%;background-repeat:no-repeat;border-radius:0;position:absolute;inset:0}.continuous-region.is-first>.continuous-region-fill[data-v-1ae905c7]{border-start-start-radius:var(--radius-pill);border-end-start-radius:var(--radius-pill)}.continuous-region.is-last>.continuous-region-fill[data-v-1ae905c7]{border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill)}.continuous-region.state-completed>.continuous-region-fill[data-v-1ae905c7]{width:100%}.continuous-region.state-active>.continuous-region-fill[data-v-1ae905c7]{border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill)}.continuous-region.state-pending>.continuous-region-fill[data-v-1ae905c7]{background-image:none;width:0}.continuous-region[data-v-1ae905c7]:after{content:"";background:var(--timeline-continuous-seam-color,color-mix(in srgb, var(--foreground) calc(var(--timeline-continuous-seam-opacity,.25) * 100%), transparent));pointer-events:none;width:1px;position:absolute;top:10%;bottom:10%;right:0}.continuous-region.is-last[data-v-1ae905c7]:after{display:none}.continuous-markers[data-v-1ae905c7]{pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.continuous-marker[data-v-1ae905c7]{pointer-events:none;justify-content:center;align-items:center;line-height:0;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.continuous-marker[data-v-1ae905c7]>*{pointer-events:auto}.segmented-dot[data-v-1ae905c7]{box-sizing:border-box;width:var(--timeline-dot-size,14px);height:var(--timeline-dot-size,14px);background:var(--surface-tint-15);border:2px solid var(--background,white);box-shadow:0 1px 2px color-mix(in srgb, var(--shadow-color) 12%, transparent);cursor:pointer;z-index:1;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border-radius:50%;padding:0;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.segmented-dot[data-v-1ae905c7]:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none}.continuous-dot[data-v-1ae905c7]{background:var(--timeline-dot-fill);-webkit-backdrop-filter:var(--timeline-dot-blur);backdrop-filter:var(--timeline-dot-blur);border-color:var(--timeline-dot-ring);box-shadow:0 0 4px color-mix(in srgb, var(--shadow-color) 22%, transparent), inset 0 1px 1px color-mix(in srgb, var(--foreground) 8%, transparent);position:relative;right:auto;transform:none}.continuous-dot[data-v-1ae905c7]:hover,.continuous-dot[data-v-1ae905c7]:focus-visible{transform:scale(1.2)}.continuous-dot[data-v-1ae905c7]:before{content:"";border-radius:inherit;position:absolute;inset:-15px}@media (pointer:coarse){.continuous-dot[data-v-1ae905c7]{width:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px));height:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px))}.continuous-dot[data-v-1ae905c7]:before{inset:calc((var(--timeline-touch-target,44px) - var(--timeline-dot-size-touch,20px)) / -2)}}.continuous-dot[data-current][data-v-1ae905c7]{background:color-mix(in srgb, var(--timeline-dot-tint-current) 22%, var(--surface-tint-12));border-color:color-mix(in srgb, var(--timeline-dot-tint-current) 40%, var(--glass-border-floating))}.continuous-dot[data-state=completed][data-v-1ae905c7]{background:color-mix(in srgb, var(--timeline-dot-tint-completed) 22%, var(--surface-tint-12));border-color:color-mix(in srgb, var(--timeline-dot-tint-completed) 40%, var(--glass-border-floating))}.continuous-dot-check[data-v-1ae905c7]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.continuous-dot-check path[data-v-1ae905c7]{fill:none;stroke:var(--timeline-dot-check-color);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32;stroke-dashoffset:32px;animation:continuous-dot-check-draw-1ae905c7 var(--duration-slow,.45s) var(--ease-out,ease-out) var(--duration-fast,.2s) forwards}.continuous-dot[data-completed][data-v-1ae905c7]{animation:continuous-dot-pop-1ae905c7 var(--duration-normal,.3s) var(--ease-apple-spring,cubic-bezier(.2, .9, .25, 1.2))}@keyframes continuous-dot-check-draw-1ae905c7{0%{stroke-dashoffset:32px}to{stroke-dashoffset:0}}@keyframes continuous-dot-pop-1ae905c7{0%{transform:scale(.82)}60%{transform:scale(1.12)}to{transform:scale(1)}}.continuous-detail[data-v-1ae905c7]{min-height:var(--timeline-detail-min-height,1.25rem);margin-block-start:.25rem}.sr-only[data-v-1ae905c7]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.continuous-region[data-v-1ae905c7],.continuous-region-fill[data-v-1ae905c7],.continuous-dot[data-v-1ae905c7]{transition-duration:.01ms}.continuous-dot[data-completed][data-v-1ae905c7]{animation:none}.continuous-dot-check path[data-v-1ae905c7]{stroke-dashoffset:0;animation:none}}.timeline-popover{max-width:18rem;padding:.5rem .75rem}.timeline-popover .timeline-popover-body{border-left:2px solid var(--popover-tint,var(--foreground));flex-direction:column;gap:.125rem;padding-left:.5rem;display:flex}.timeline-popover .timeline-popover-label{letter-spacing:.04em;text-transform:uppercase;color:var(--popover-tint,var(--foreground));font-weight:600;font-size:var(--type-small,.85rem)}.timeline-popover .timeline-popover-value{font-family:var(--font-mono,"Fira Code", monospace);color:var(--popover-foreground,var(--foreground));font-weight:500;font-size:var(--type-body,1rem)}.timeline-popover .timeline-popover-description{font-size:var(--type-small,.85rem);color:var(--muted-foreground);line-height:1.4}.timeline-popover .timeline-popover-state{font-size:var(--type-mono-caption,.75rem);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-family:var(--font-mono,"Fira Code", monospace)}.timeline-row[data-v-a206e2d2]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-caret[data-v-a206e2d2]{pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);z-index:var(--z-popover);-webkit-user-select:none;user-select:none;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.timeline-row:hover .timeline-caret[data-v-a206e2d2]{opacity:1}.timeline-row:has(.glass-track:active) .timeline-caret[data-v-a206e2d2]{opacity:1}.caret-value[data-v-a206e2d2]{font-size:var(--type-small);color:var(--popover-foreground);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);white-space:nowrap;padding:.125rem .375rem;font-weight:500;display:block}.glass-track[data-v-a206e2d2]{border-radius:var(--radius-pill);background:var(--surface-tint-6);width:100%;height:24px;-webkit-backdrop-filter:var(--glass-blur-wash);backdrop-filter:var(--glass-blur-wash);cursor:pointer;touch-action:none;transition:background var(--duration-fast) var(--ease-standard);outline:none;position:relative;overflow:hidden}.glass-track[data-v-a206e2d2]:hover,.glass-track[data-v-a206e2d2]:focus-visible{background:var(--surface-tint-8)}.glass-track[data-v-a206e2d2]:focus-visible{box-shadow:var(--focus-ring-shadow)}.glass-fill[data-v-a206e2d2]{background:var(--surface-tint-8);border-radius:var(--radius-pill);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.glass-thumb[data-v-a206e2d2]{border-radius:var(--radius-sm);background:var(--surface-tint-25);opacity:0;pointer-events:none;width:6px;height:16px;transition:opacity var(--duration-fast) var(--ease-standard), width var(--duration-fast) var(--ease-standard), height var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);position:absolute;top:50%;transform:translate(calc(-50% - 3px),-50%)}.glass-track:hover .glass-thumb[data-v-a206e2d2]{opacity:1;background:var(--surface-tint-40);width:8px;height:18px}.timeline-row[data-v-2db316ec]{flex:1 1 0;align-items:center;min-width:0;padding:0 .25rem;display:flex;position:relative}.timeline-segmented[data-v-2db316ec]{flex:1 1 0;min-width:0;padding:0}.segmented-track[data-v-2db316ec]{width:100%;height:var(--timeline-segmented-height,12px);border-radius:var(--radius-pill);background:var(--surface-tint-6);-webkit-backdrop-filter:var(--glass-blur-wash);backdrop-filter:var(--glass-blur-wash);display:flex;position:relative;overflow:hidden}.segmented-cell[data-v-2db316ec]{flex:var(--timeline-segment-flex,1 1 0);min-width:0;height:100%;position:relative}.segmented-cell+.segmented-cell[data-v-2db316ec]{border-left:1px solid color-mix(in srgb, var(--foreground) 8%, transparent)}.segmented-band[data-v-2db316ec]{width:0%;transition:width var(--duration-slow,.45s) var(--ease-out,ease-out), background var(--duration-fast,.2s) var(--ease-standard,ease);will-change:width;position:absolute;inset:0}.segmented-dot[data-v-2db316ec]{box-sizing:border-box;width:var(--timeline-dot-size,14px);height:var(--timeline-dot-size,14px);background:var(--surface-tint-15);border:2px solid var(--background,white);box-shadow:0 1px 2px color-mix(in srgb, var(--shadow-color) 12%, transparent);cursor:pointer;z-index:1;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border-radius:50%;padding:0;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.segmented-dot[data-v-2db316ec]:before{content:"";border-radius:inherit;position:absolute;inset:-15px}@media (pointer:coarse){.segmented-dot[data-v-2db316ec]{width:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px));height:var(--timeline-dot-size-touch,var(--timeline-dot-size,20px))}.segmented-dot[data-v-2db316ec]:before{inset:calc((var(--timeline-touch-target,44px) - var(--timeline-dot-size-touch,20px)) / -2)}}.segmented-dot[data-v-2db316ec]:hover,.segmented-dot[data-v-2db316ec]:focus-visible{background:var(--surface-tint-40);box-shadow:0 2px 6px color-mix(in srgb, var(--shadow-color) 18%, transparent);transform:translate(50%,-50%)scale(1.2)}.segmented-dot[data-v-2db316ec]:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none}.segmented-cell[data-state=active] .segmented-dot[data-v-2db316ec]{background:color-mix(in srgb, var(--accent,var(--foreground)) 60%, var(--surface-tint-15))}.segmented-cell[data-state=completed] .segmented-dot[data-v-2db316ec]{background:color-mix(in srgb, var(--success,var(--foreground)) 70%, var(--surface-tint-15))}.sr-only[data-v-2db316ec]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.segmented-band[data-v-2db316ec],.segmented-dot[data-v-2db316ec]{transition-duration:.01ms}}.tw-root[data-v-f7b6d096]{display:inline}.tw-tail[data-v-f7b6d096]{white-space:nowrap}.tw-char[data-v-f7b6d096]{display:inline}.tw-char--interactive[data-v-f7b6d096]{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard);margin:0 -1px;padding:0 1px}.tw-char--interactive[data-v-f7b6d096]:hover{background-color:#80808026}.tw-cursor[data-v-f7b6d096]{font-weight:100;display:inline-block}.tw-cursor--blink[data-v-f7b6d096]{animation:1.06s step-end infinite typewriter-blink}
2
2
  /*$vite$:1*/