{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "dwellir-theme",
  "title": "Dwellir theme",
  "description": "Dwellir Extended colours (dark and light) as full values, the status scale, the type, radius and shadow tokens, and the stacking (z-index) tokens, and the grain, glass, rim and aurora-curtain utilities.",
  "dependencies": [
    "tw-animate-css"
  ],
  "registryDependencies": [
    "@dwellir/field-style"
  ],
  "files": [
    {
      "path": "registry/dwellir-parts.css",
      "content": "/* Dwellir registry theme CSS. Generated; do not edit. */\n:root {\n--card-grain: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0.57'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E\");\n--sky-grain: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.147 0 0 0 -0.054'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E\");\n}\n:where(:root) {\n--navbar-height: 76px;\n--z-navbar: 40;\n--au-glass-fill-thin: 70%;\n--au-glass-blur: blur(18px) saturate(150%);\n}\n.dark {\n--card-grain: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0.335'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E\");\n--sky-grain: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.174 0 0 0 -0.06'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E\");\n}\n:root {\n--border-hairline: 1px;\n}\n/*\n * Shadow strength and the inactive-control ink mix, per theme. Plain rules,\n * not cssVars: shadcn add writes a dark-only cssVar into @theme inline as\n * --x: var(--x), which refers to itself where :root sets no value.\n */\n:root {\n--shadow-alpha: 1;\n--foreground-75-mix: 75%;\n}\n.dark {\n--shadow-alpha: 0;\n--foreground-75-mix: 85%;\n}\n@media (min-resolution: 2dppx) {\n:root {\n--border-hairline: 0.5px;\n}\n}\n@utility grain {\nbackground-image: --theme(--grain-card);\nbackground-size: 180px 180px;\nbackground-blend-mode: overlay;\n}\n@utility grain-sky {\nbackground-image: --theme(--grain-sky);\nbackground-size: 180px 180px;\n}\n@utility glass {\nbackground-color: color-mix(in srgb, var(--card) var(--au-glass-fill, 80%), transparent);\nbackdrop-filter: var(--au-glass-blur, blur(18px) saturate(150%));\n}\n@media (prefers-reduced-transparency: reduce) {\n:root {\n--au-glass-fill: 100%;\n--au-glass-blur: none;\n--au-glass-fill-thin: 100%;\n}\n}\n@utility rim {\n&::after {\ncontent: '';\nposition: absolute;\ninset: -1px;\nz-index: 1;\npadding: 1px;\nborder-radius: inherit;\nbackground: var(--aurora-rim-gradient);\nmask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);\npointer-events: none;\ntransition: opacity 0.35s ease;\n@apply aurora-rim {\n\n}\n}\n}\n@utility rim-hover {\n&::after {\nopacity: 0;\n}\n&:focus-visible::after, &:has(:focus-visible)::after {\nopacity: 1;\n}\n@media (hover: hover) {\n&:hover::after {\nopacity: 1;\n}\n}\n&:has(:focus-visible) {\noutline: 2px solid var(--ring);\noutline-offset: 2px;\n}\n}\n@utility column-rim {\nbox-shadow: inset 1px 0 0 var(--aurora-1), inset -1px 0 0 var(--aurora-2);\n}\n@utility aurora-curtain {\n--ds-curtain-streaks: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='200' viewBox='0 0 600 200' preserveAspectRatio='none'%3E%3Cfilter id='s' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.07 0.003' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeGaussianBlur stdDeviation='0.8 0'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2.6 0 0 0 -0.85'/%3E%3C/filter%3E%3Crect width='600' height='200' filter='url(%23s)'/%3E%3C/svg%3E\");\n--ds-curtain-wave: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 200' preserveAspectRatio='none'%3E%3ClinearGradient id='f' gradientUnits='userSpaceOnUse' x1='0' y1='184' x2='0' y2='0'%3E%3Cstop offset='0'/%3E%3Cstop offset='0.3' stop-opacity='0.8'/%3E%3Cstop offset='1' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3Cpath d='M0 172 C70 160 130 136 210 144 S340 184 420 170 S540 128 600 150 L600 0 L0 0 Z' fill='url(%23f)' filter='url(%23b)'/%3E%3C/svg%3E\");\n--ds-curtain-edge: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 200' preserveAspectRatio='none'%3E%3Cfilter id='b' x='-10%25' y='-50%25' width='120%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3Cpath d='M0 172 C70 160 130 136 210 144 S340 184 420 170 S540 128 600 150' fill='none' stroke='%23000' stroke-width='16' filter='url(%23b)'/%3E%3C/svg%3E\");\n--ds-curtain-base: var(--ds-curtain-tint, var(--aurora-1));\nposition: absolute;\noverflow: hidden;\npointer-events: none;\nbackground: radial-gradient(70% 45% at 55% 40%, color-mix(in srgb, var(--aurora-2) 12%, transparent), transparent);\nmask-image: radial-gradient(75% 95% at 50% 85%, #000 40%, transparent);\n&[data-fade='left'] {\nmask-image: radial-gradient(75% 95% at 50% 85%, #000 40%, transparent), linear-gradient(to right, transparent, #000 35%);\nmask-composite: intersect;\n}\n&[data-fade='right'] {\nmask-image: radial-gradient(75% 95% at 50% 85%, #000 40%, transparent), linear-gradient(to left, transparent, #000 35%);\nmask-composite: intersect;\n}\n&[data-fade='both'] {\nmask-image: radial-gradient(75% 95% at 50% 85%, #000 40%, transparent), linear-gradient(to right, transparent, #000 30%, #000 70%, transparent);\nmask-composite: intersect;\n}\n&::before, &::after {\nwill-change: transform;\n}\n&::before {\ncontent: '';\nposition: absolute;\ninset: 0;\nbackground: color-mix(in srgb, var(--ds-curtain-base) 42%, transparent);\nmask: var(--ds-curtain-edge) 0 0 / 100% 100% no-repeat;\n}\n&::after {\ncontent: '';\nposition: absolute;\ninset: 0;\nbackground: var(--sky-grain), linear-gradient(to top, color-mix(in srgb, var(--ds-curtain-base) 95%, transparent) 12%, color-mix(in srgb, var(--ds-curtain-base) 70%, transparent) 36%, color-mix(in srgb, var(--aurora-2) 55%, transparent) 60%, color-mix(in srgb, var(--aurora-3) 35%, transparent) 82%, transparent);\nbackground-size: 180px 180px, auto;\nmask: var(--ds-curtain-streaks) 0 0 / 600px 100% repeat-x intersect, var(--ds-curtain-wave) 0 0 / 100% 100% no-repeat;\n}\n}\n@layer base {\n:where(button, [role='button']):not(:disabled, [aria-disabled='true']) {\ncursor: pointer;\n}\n}\n@layer components {\n[data-slot='section']:is([data-au-band='alt'], [data-au-band='sky']) {\nmargin-left: max(0.75rem, env(safe-area-inset-left));\nmargin-right: max(0.75rem, env(safe-area-inset-right));\nborder-radius: var(--radius-sheet);\noverflow: clip;\nisolation: isolate;\n}\n[data-slot='section'][data-au-band='alt'] {\n--background: var(--alt-ground);\n--card: var(--alt-card);\nbackground: var(--background);\n}\n[data-slot='section'][data-au-band='sky'] {\n--background: var(--sky);\nbackground: var(--sky-grain) 0 0 / 180px 180px, var(--sky);\n}\n}\n@font-face {\n  font-family: 'Ubuntu Fallback';\n  src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('LiberationSans-Regular');\n  font-weight: 400;\n  size-adjust: 101.98%;\n  ascent-override: 91.39%;\n  descent-override: 18.53%;\n  line-gap-override: 2.75%;\n}\n@font-face {\n  font-family: 'Ubuntu Fallback';\n  src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold');\n  font-weight: 700;\n  size-adjust: 99.75%;\n  ascent-override: 93.43%;\n  descent-override: 18.95%;\n  line-gap-override: 2.81%;\n}\n@font-face {\n  font-family: 'Ubuntu Fallback';\n  src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold');\n  font-weight: 700;\n  unicode-range: U+00B7;\n  size-adjust: 73.90%;\n  ascent-override: 126.12%;\n  descent-override: 25.58%;\n  line-gap-override: 3.79%;\n}\n@utility aurora-rim {\n  --aurora-rim-gradient: linear-gradient(\n    115deg,\n    var(--au-rim-a, var(--aurora-1, var(--au-dot))),\n    var(--au-rim-b, var(--aurora-2, var(--au-dot-2))) 36%,\n    var(--au-rim-c, var(--aurora-3, var(--au-dot-3))) 70%,\n    var(--au-rim-d, var(--aurora-4, var(--au-dot-4)))\n  );\n}\n@property --focus-edge { syntax: \"<length>\"; inherits: false; initial-value: 0px; }\n@utility outline-offset-2 { --focus-edge: 6px; }\n@utility outline-offset-4 { --focus-edge: 8px; }\n@utility outline-none { &:focus-visible { --focus-edge: 0px; } }\n@utility outline-hidden { &:focus-visible { --focus-edge: 0px; } }\n@utility outline-ring {\n  --tw-ring-offset-shadow: 0 0 0 var(--focus-edge) var(--focus-ground, var(--tone-surface, --theme(--color-background inline)));\n  /* Tailwind's shadow stack. The fallbacks hold where no shadow-* utility registered its parts. */\n  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-inset-ring-shadow, 0 0 #0000), var(--tw-ring-offset-shadow), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);\n}\n\n@utility ui-button {\n  @apply inline-flex shrink-0 items-center justify-center gap-2 rounded-control font-ui font-bold whitespace-nowrap outline-none select-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive data-[variant=ghost]:aria-[current=page]:bg-accent data-[variant=ghost]:aria-[current=page]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4;\n  &:where([data-shape=\"pill\"]) { @apply rounded-full; }\n  /* A touch never hovers, so a press shrinks the button. It eases back from wherever it is when the finger lifts. */\n  transition-property: color, background-color, border-color, box-shadow, scale;\n  transition-duration: 200ms, 200ms, 200ms, 200ms, 150ms;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.23, 1, 0.32, 1);\n  &:not([data-variant=visual], :disabled, [aria-disabled=true]) {\n    @apply pointer-coarse:motion-safe:active:scale-97;\n  }\n  /*\n   * Every size takes a 44px tap under a coarse pointer; lg and icon-lg already\n   * measure 48px. Where the gap leaves too little room, the box grows by the\n   * shortfall (touch-fit). A text link keeps its line, and a positioned button\n   * takes no room from its neighbours, so neither grows.\n   */\n  &:not([data-variant=visual]) {\n    @apply pointer-coarse:touch-target;\n    &:not(.absolute, .fixed, .sticky) {\n      @apply pointer-coarse:relative;\n      &:not([data-variant=link]) { @apply pointer-coarse:touch-fit; }\n    }\n  }\n  /*\n   * OptionPicker's Clear sits 4px above its field. Growing it would push the\n   * field and its list down, and in a modal the list could then open past the\n   * modal's edge. It keeps its box and taps at half its row's gap.\n   * Same specificity as touch-fit and placed after it, so it wins.\n   */\n  [data-slot=option-picker-summary] > &[data-slot=button][data-size] {\n    @apply pointer-coarse:min-h-0;\n  }\n  /* A pagination item is as small as its link: it passes the list's gap on. */\n  :where([data-slot=pagination-item]):has(> &) { @apply touch-gap-through; }\n  /* Text entry stays above addon targets during browser touch adjustment. */\n  /* :has() on direct children only: a deep :has() made every DOM insertion restyle the page. */\n  [data-slot=input-group]:has(> [data-slot=input-group-addon] > &) > [data-slot=input-group-control] {\n    @apply pointer-coarse:relative pointer-coarse:z-1;\n  }\n  [data-slot=input-group-addon][data-align=inline-start] &[data-slot=button]::after {\n    @apply pointer-coarse:left-auto pointer-coarse:right-0 pointer-coarse:touch-target-inline;\n  }\n  [data-slot=input-group-addon][data-align=inline-end] &[data-slot=button]::after {\n    @apply pointer-coarse:left-0 pointer-coarse:right-auto pointer-coarse:touch-target-inline;\n  }\n  [data-slot=input-group-addon]:is([data-align=inline-start], [data-align=inline-end]) &[data-slot=button]:only-child::after {\n    @apply pointer-coarse:touch-min-width;\n  }\n  /* A lone inline button has no neighbour in its addon: it keeps its box. */\n  [data-slot=input-group-addon]:is([data-align=inline-start], [data-align=inline-end]) &[data-slot=button]:only-child {\n    @media (pointer: coarse) { --touch-column-gap: 44px; }\n  }\n  [data-slot=input-group-addon][data-align^=block] &[data-slot=button]:only-child::after {\n    @apply pointer-coarse:touch-min-height;\n  }\n  [data-slot=input-group-addon][data-align=block-end] &[data-slot=button]::after {\n    @apply pointer-coarse:touch-target-block-end;\n  }\n  [data-slot=input-group-addon][data-align=block-start] &[data-slot=button]::after {\n    @apply pointer-coarse:touch-target-block-start;\n  }\n}\n@property --touch-column-gap { syntax: \"<length>\"; inherits: true; initial-value: 44px; }\n@property --touch-row-gap { syntax: \"<length>\"; inherits: true; initial-value: 44px; }\n\n@utility gap-* {\n  --touch-column-gap: --spacing(--value(number));\n  --touch-row-gap: --spacing(--value(number));\n}\n@utility gap-x-* { --touch-column-gap: --spacing(--value(number)); }\n@utility gap-y-* { --touch-row-gap: --spacing(--value(number)); }\n@utility touch-target {\n  --touch-column-gap: inherit;\n  --touch-row-gap: inherit;\n  &::after {\n    --touch-column-gap: inherit;\n    --touch-row-gap: inherit;\n    /* The painted box. The ::after sizes from the padding box, so it adds back --touch-edge, the control's border. */\n    --touch-box: calc(100% + 2 * var(--touch-edge, 0px));\n    content: \"\";\n    @apply absolute top-1/2 left-1/2;\n    width: var(--touch-box);\n    height: var(--touch-box);\n    /* Each neighbor can consume at most half the nearest declared gap. */\n    min-height: min(44px, calc(var(--touch-box) + var(--touch-row-gap)));\n    min-width: min(44px, calc(var(--touch-box) + var(--touch-column-gap)));\n    translate: -50% -50%;\n  }\n}\n@utility touch-fit {\n  min-height: calc(44px - var(--touch-row-gap));\n  min-width: calc(44px - var(--touch-column-gap));\n}\n@utility checkbox-touch {\n  --touch-edge: 1px;\n  @apply relative pointer-coarse:touch-target;\n}\n@utility touch-gap-through {\n  --touch-column-gap: inherit;\n  --touch-row-gap: inherit;\n}\n\n@utility touch-min-width { min-width: 44px; }\n@utility touch-min-height { min-height: 44px; }\n\n@utility touch-target-inline { translate: 0 -50%; }\n@utility touch-target-block-end { top: 0; translate: -50% 0; }\n@utility touch-target-block-start { top: auto; bottom: 0; translate: -50% 0; }\n@utility sidebar-safe-area {\n  --sidebar-pad: 0px;\n  :is([data-variant=floating], [data-variant=inset]) > & { --sidebar-pad: --spacing(2); }\n  [data-slot=sidebar] > & {\n    padding-top: calc(var(--sidebar-pad) + env(safe-area-inset-top, 0px));\n    padding-bottom: calc(var(--sidebar-pad) + env(safe-area-inset-bottom, 0px));\n  }\n  [data-side=left] > & { padding-left: calc(var(--sidebar-pad) + env(safe-area-inset-left, 0px)); }\n  [data-side=right] > & { padding-right: calc(var(--sidebar-pad) + env(safe-area-inset-right, 0px)); }\n}\n@utility sidebar-motion {\n  @media (prefers-reduced-motion: no-preference) {\n    transition: translate 200ms linear, clip-path 200ms linear;\n    [data-state=collapsed] > & {\n      transition: translate 200ms linear, clip-path 200ms linear, width 0s linear 200ms;\n    }\n  }\n}\n@utility sidebar-icon-clip {\n  --sidebar-rail: var(--sidebar-width-icon);\n  --sidebar-overhang: --spacing(2);\n  :is([data-variant=floating], [data-variant=inset]) > & { --sidebar-rail: var(--sidebar-width-icon-framed); }\n  [data-side=left] > & { clip-path: inset(0 calc(var(--sidebar-overhang) * -1) 0 0); }\n  [data-side=right] > & { clip-path: inset(0 0 0 calc(var(--sidebar-overhang) * -1)); }\n  [data-side=left][data-state=collapsed] > & {\n    clip-path: inset(0 calc(100% - var(--sidebar-rail) - var(--sidebar-overhang)) 0 0);\n  }\n  [data-side=right][data-state=collapsed] > & {\n    clip-path: inset(0 0 0 calc(100% - var(--sidebar-rail) - var(--sidebar-overhang)));\n  }\n}\n@utility sidebar-menu-touch {\n  :is([data-slot=sidebar-menu-item], [data-slot=sidebar-menu-sub-item]):has(> &) {\n    --touch-row-gap: inherit;\n  }\n  --touch-row-gap: inherit;\n  pointer-events: none;\n  &::after {\n    content: \"\";\n    @apply absolute top-1/2 inset-x-0 h-full -translate-y-1/2 pointer-events-auto;\n    --touch-row-gap: inherit;\n    min-height: min(44px, calc(100% + var(--touch-row-gap)));\n  }\n  &:disabled::after, &[aria-disabled=true]::after { pointer-events: none; }\n}\n\n@utility sidebar-menu-touch-action {\n  &::after { right: 44px; }\n}\n\n@utility sidebar-menu-touch-icon {\n  &::after { left: calc((100% - 44px) / 2); right: calc((100% - 44px) / 2); }\n}\n@utility ui-popup-motion {\n  @media (prefers-reduced-motion: reduce) {\n    --tw-enter-scale: 1 !important;\n    --tw-exit-scale: 1 !important;\n    --tw-enter-translate-x: 0 !important;\n    --tw-enter-translate-y: 0 !important;\n    --tw-exit-translate-x: 0 !important;\n    --tw-exit-translate-y: 0 !important;\n  }\n}\n@utility glass-lite {\n  --au-glass-blur: blur(8px);\n  @media (prefers-reduced-transparency: reduce) {\n    --au-glass-blur: none;\n  }\n}\n@utility chain-icon-edge {\n  /* Pure black or white, never a tinted neutral: a tint takes on the ground behind the logo. */\n  outline: 1px solid rgb(0 0 0 / 0.1);\n  outline-offset: -1px;\n  @variant dark {\n    outline-color: rgb(255 255 255 / 0.1);\n  }\n}\n@utility chain-icon-image {\n  -webkit-touch-callout: none;\n}\n@utility slider-touch {\n  touch-action: none;\n  /* The thumb fills with bg-background, its own surface: its focus band takes the slider's ground. */\n  --focus-ground: var(--tone-surface);\n  &[data-orientation=horizontal] { touch-action: pan-y; }\n  @media (pointer: coarse) {\n    &[data-orientation=horizontal] { padding-block: --spacing(3); }\n    & [data-slot=slider-thumb]::after { content: \"\"; position: absolute; inset: calc(50% - 22px); }\n  }\n}\n\n@utility button-outline {\n  --touch-edge: 1px;\n  @apply border border-foreground-15 text-foreground hover:border-foreground-35 hover:bg-muted aria-pressed:border-accent-ink-40 aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-[current=page]:border-accent-ink-40 aria-[current=page]:bg-accent aria-[current=page]:text-accent-foreground;\n}\n\n@utility button-link {\n  @apply h-auto rounded-control-max-sm px-0 text-accent-ink underline decoration-accent-ink-40 underline-offset-4 hover:decoration-accent-ink;\n}\n\n@utility button-link-ink {\n  @apply h-auto rounded-control-max-sm px-0 text-foreground underline decoration-foreground-35 underline-offset-4 hover:decoration-foreground focus-visible:decoration-foreground;\n}\n\n@utility ui-badge {\n  @apply inline-flex shrink-0 items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-label font-bold whitespace-nowrap transition-[color,background-color,border-color] duration-200 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring aria-invalid:border-destructive aria-invalid:outline-destructive data-[variant=destructive]:focus-visible:outline-destructive [&>svg]:pointer-events-none [&>svg]:size-3;\n  /* A badge that renders a button (asChild) acts as one: a pointer and a 44px tap. */\n  &:is(button) {\n    --touch-edge: 1px;\n    @apply cursor-pointer pointer-coarse:touch-target;\n    &:not(.absolute, .fixed, .sticky) { @apply pointer-coarse:relative; }\n  }\n  /* Upstream's hover for a badge that renders a link or a button, per variant. */\n  @apply [:is(a,button)&]:data-[variant=neutral]:hover:bg-secondary [:is(a,button)&]:data-[variant=accent]:hover:border-accent-ink-60 [:is(a,button)&]:data-[variant=green]:hover:bg-aurora-1-25 [:is(a,button)&]:data-[variant=violet]:hover:bg-aurora-2-25 [:is(a,button)&]:data-[variant=rose]:hover:bg-aurora-3-25 [:is(a,button)&]:data-[variant=gold]:hover:bg-aurora-4-25 [:is(a,button)&]:data-[variant=red]:hover:bg-destructive-20 [:is(a,button)&]:data-[variant=orange]:hover:bg-warning-ink-10 [:is(a,button)&]:data-[variant=operational]:hover:bg-status-operational-25 [:is(a,button)&]:data-[variant=minor]:hover:bg-status-minor-25 [:is(a,button)&]:data-[variant=major]:hover:bg-status-major-25 [:is(a,button)&]:data-[variant=down]:hover:bg-status-down-20 [:is(a,button)&]:data-[variant=solid]:hover:bg-primary-hover [:is(a,button)&]:data-[variant=outline]:hover:bg-muted [:is(a,button)&]:data-[variant=secondary]:hover:bg-foreground-15 [:is(a,button)&]:data-[variant=destructive]:hover:bg-destructive-90 [:is(a,button)&]:data-[variant=ghost]:hover:bg-muted [:is(a,button)&]:data-[variant=link]:hover:underline;\n}\n\n@utility table-scroll {\n  @apply scrollbar-quiet relative overflow-x-auto overscroll-x-contain rounded-lg focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring;\n  outline-style: none;\n}\n@utility scrollbar-quiet {\n  scrollbar-width: thin;\n  scrollbar-color: --theme(--color-border inline) transparent;\n}\n@utility modal-host {\n  &:has(:is([data-slot=dialog-body], [data-slot=alert-dialog-body], [data-slot=sheet-body])) {\n    display: flex;\n    flex-direction: column;\n    overflow: hidden;\n  }\n\n  & > :has(:is([data-slot=dialog-body], [data-slot=alert-dialog-body], [data-slot=sheet-body])) {\n    display: contents;\n  }\n}\n@utility modal-body {\n  @apply scrollbar-quiet min-h-0 flex-auto overflow-y-auto overscroll-contain outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring;\n}\n@utility scrollbar-none {\n  scrollbar-width: none;\n\n  &::-webkit-scrollbar {\n    display: none;\n  }\n}\n\n@utility table-head {\n  @apply h-11 px-3 text-left align-middle whitespace-nowrap text-muted-foreground uppercase data-[highlight]:column-rim data-[highlight]:text-accent-ink [&[scope=row]]:h-auto [&[scope=row]]:py-3.5 [&[scope=row]]:whitespace-normal [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5 group-data-[density=compact]/table:h-9 group-data-[head=quiet]/table:font-medium group-data-[head=quiet]/table:tracking-normal group-data-[head=quiet]/table:normal-case data-[numeric]:text-end data-[numeric]:tabular-nums;\n  font-weight: var(--font-weight-bold);\n  /*\n   * A 44px header cell is its own row: a sort button in it may take the row's\n   * height. Across, its room is 12px: a checkbox cell drops its end padding.\n   */\n  &:not(:where([data-density=compact] *)) {\n    --touch-row-gap: 44px;\n    --touch-column-gap: --spacing(3);\n  }\n  /* A DataTable sort button takes a tap here, so the markup carries no extra class. */\n  & [data-slot=data-table-sort] { @apply pointer-coarse:relative pointer-coarse:touch-target; }\n}\n\n@utility ui-table-cell {\n  @apply px-3 py-3.5 align-middle whitespace-nowrap data-[highlight]:column-rim data-[highlight]:bg-aurora-1-5 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5 group-data-[density=compact]/table:py-2.5 data-[numeric]:text-end data-[numeric]:tabular-nums;\n}\n\n@utility ui-choice {\n  @apply inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 rounded-control border font-bold whitespace-nowrap transition-[color,background-color,border-color] duration-200 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4;\n}\n\n@utility choice-segmented {\n  @apply choice-touch h-9 border-transparent px-4 text-foreground-75 hover:text-foreground data-[state=on]:border-border data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-xs;\n}\n\n@utility choice-bare {\n  @apply inline-flex shrink-0 cursor-pointer rounded-full bg-transparent transition-transform duration-100 outline-none hover:scale-105 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50;\n}\n@utility choice-touch {\n  :not([data-orientation=vertical]) > & {\n    @media (pointer: coarse) {\n      /* The room is the group's gap, not the item's own gap between icon and label. */\n      --touch-column-gap: inherit;\n      --touch-row-gap: inherit;\n      /* Anchored to the pill: a ToggleGroupItem button has no position of its own. */\n      &:not(.absolute, .fixed, .sticky) { position: relative; @apply touch-fit; }\n      /* Pills are wider than 44px, so only the height grows, into half the row gap. A short rule: it inlines on every page with the footer. */\n      &::after {\n        content: \"\";\n        position: absolute;\n        inset-inline: 0;\n        top: 50%;\n        height: min(44px, calc(100% + 2px + var(--touch-row-gap)));\n        translate: 0 -50%;\n      }\n    }\n  }\n}\n\n@utility choice-pills {\n  @apply choice-touch h-8 border-foreground-20 bg-card px-3.5 text-foreground data-[state=on]:border-accent-ink-40 data-[state=on]:bg-linear-to-r data-[state=on]:from-accent data-[state=on]:to-accent data-[state=on]:text-accent-foreground;\n}\n@utility choice-tiles {\n  @apply rounded-control-max-xl border-border bg-background text-left whitespace-normal text-foreground hover:border-foreground-35 data-[state=on]:border-transparent;\n}\n\n\n@utility ui-toggle {\n  @apply inline-flex shrink-0 items-center justify-center gap-2 rounded-control font-ui font-bold whitespace-nowrap text-foreground transition-[color,background-color,border-color] duration-200 outline-none select-none hover:bg-muted focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4;\n  @apply pointer-coarse:touch-target;\n  &:not(.absolute, .fixed, .sticky) { @apply pointer-coarse:relative pointer-coarse:touch-fit; }\n}\n\n@utility toggle-outline {\n  --touch-edge: 1px;\n  @apply border border-foreground-15 hover:border-foreground-35 data-[state=on]:border-accent-ink-40;\n}\n@utility toggle-visual {\n  @apply cursor-pointer outline-none select-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-invalid:outline-destructive;\n}\n@utility toggle-joined {\n  @apply data-[spacing=0]:rounded-none data-[spacing=0]:first:rounded-l-control data-[spacing=0]:last:rounded-r-control data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l;\n  /*\n   * Joined outline items share an edge: only the first has a left border. Under\n   * a finger each hit area spans its own box, edge to edge, so neighbours meet on the seam.\n   */\n  &[data-spacing=\"0\"][data-variant=outline] {\n    @media (pointer: coarse) {\n      &::after { left: 0; right: -1px; width: auto; translate: 0 -50%; }\n      &:first-child::after { left: -1px; }\n    }\n  }\n}\n\n@utility choice-focus {\n  @apply relative select-none has-focus-visible:outline-solid has-focus-visible:outline-2 has-focus-visible:outline-offset-2 has-focus-visible:outline-ring;\n  [data-orientation=vertical] > & {\n    &::before {\n      content: \"\";\n      @apply size-4 shrink-0 self-center rounded-full border border-current text-foreground;\n    }\n    &[data-state=on]::before {\n      background-image: radial-gradient(circle, currentColor 0, currentColor --spacing(1), transparent --spacing(1));\n    }\n    &.choice-bare { @apply items-center gap-2; }\n  }\n  [data-orientation=vertical][data-variant=tiles] > & {\n    &:has(> [data-slot=choice-group-content]) { @apply pr-10; }\n    &::before { @apply absolute top-3 right-3; }\n  }\n}\n\n@utility card-focus {\n  @apply outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring;\n  /* A card is its own surface: its focus band takes the band's ground around it. */\n  &:focus-visible { --focus-ground: --theme(--color-background inline); }\n}\n\n@utility card-header {\n  @apply grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 group-data-[size=sm]/card:px-5 group-data-[size=xs]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto];\n}\n\n@utility card-title {\n  @apply font-display font-bold tracking-tight text-balance group-data-[size=sm]/card:text-lg group-data-[size=xs]/card:text-base;\n}\n\n@utility card-footer {\n  @apply flex items-center gap-3 px-6 group-data-[size=sm]/card:px-5 group-data-[size=xs]/card:px-4;\n}\n\n@utility accordion-prose {\n  @apply [&_[data-slot=accordion-content]_a]:font-bold [&_[data-slot=accordion-content]_a]:text-accent-ink [&_[data-slot=accordion-content]_a]:underline [&_[data-slot=accordion-content]_a]:decoration-accent-ink-40 [&_[data-slot=accordion-content]_a]:underline-offset-4 [&_[data-slot=accordion-content]_a]:hover:decoration-accent-ink [&_[data-slot=accordion-content]_code]:rounded-sm [&_[data-slot=accordion-content]_code]:bg-muted [&_[data-slot=accordion-content]_code]:px-1 [&_[data-slot=accordion-content]_code]:py-0.5 [&_[data-slot=accordion-content]_code]:font-mono [&_[data-slot=accordion-content]_code]:text-sm [&_[data-slot=accordion-content]_code]:break-all [&_[data-slot=accordion-content]_code]:text-foreground [&_[data-slot=accordion-content]_li+li]:mt-1 [&_[data-slot=accordion-content]_ol]:list-decimal [&_[data-slot=accordion-content]_ol]:pl-5 [&_[data-slot=accordion-content]_strong]:font-bold [&_[data-slot=accordion-content]_strong]:text-foreground [&_[data-slot=accordion-content]_ul]:list-disc [&_[data-slot=accordion-content]_ul]:pl-5 [&_[data-slot=accordion-content]_:is(p,ul,ol)+:is(p,ul,ol)]:mt-3;\n}\n\n@utility accordion-trigger {\n  @apply flex flex-1 items-center justify-between gap-4 rounded-lg py-5 text-left font-display font-bold text-balance select-none transition-colors duration-200 outline-none hover:text-accent-ink focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50;\n}\n\n@utility accordion-chevron {\n  @apply grid size-8 shrink-0 place-items-center rounded-full bg-muted transition-[rotate,background-color] duration-300 group-hover:bg-accent group-data-[state=open]:rotate-180;\n}\n\n@utility collapsible-card {\n  @apply rounded-card border border-border bg-card transition-colors duration-200 data-[state=open]:border-accent-ink-40;\n}\n\n@utility collapsible-card-trigger {\n  @apply flex w-full cursor-pointer items-center justify-between gap-4 rounded-card px-5 py-4 text-left font-display text-base font-bold text-foreground transition-colors duration-200 outline-none hover:text-accent-ink focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50;\n}\n@utility collapsible-chevron {\n  @apply grid size-7 shrink-0 place-items-center rounded-full bg-muted transition-transform duration-300 group-data-[state=open]/collapsible:rotate-180 noscript:hidden;\n}\n\n@utility collapsible-card-content {\n  @apply flex min-w-0 flex-col gap-3 px-5 pb-5 text-base text-muted-foreground data-[state=closed]:hidden noscript:data-[state=closed]:flex;\n}\n@utility aurora-current {\n  position: relative;\n  background-image: linear-gradient(\n    100deg,\n    color-mix(in oklch, --theme(--color-aurora-1 inline) 22%, transparent),\n    color-mix(in oklch, --theme(--color-aurora-2 inline) 12%, transparent) 55%,\n    color-mix(in oklch, --theme(--color-aurora-3 inline) 8%, transparent)\n  );\n  &::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    padding: 1px;\n    border-radius: inherit;\n    background: linear-gradient(\n      115deg,\n      --theme(--color-aurora-1 inline),\n      --theme(--color-aurora-2 inline) 36%,\n      --theme(--color-aurora-3 inline) 70%,\n      --theme(--color-aurora-4 inline)\n    );\n    opacity: 0.7;\n    mask:\n      linear-gradient(#000 0 0) content-box exclude,\n      linear-gradient(#000 0 0);\n    pointer-events: none;\n  }\n  @media (forced-colors: active) {\n    outline: 2px solid Highlight;\n    outline-offset: -2px;\n    &::before {\n      display: none;\n    }\n  }\n}\n\n@utility ui-tab {\n  @apply inline-flex shrink-0 items-center justify-center gap-2 border border-transparent font-bold select-none text-foreground-75 transition-[color,background-color,border-color] duration-200 outline-none hover:text-foreground focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-pointer:focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-transparent data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[state=active]:[&_svg]:text-accent-ink;\n  /* A finger gets a 44px row. A tab list scrolls, so it clips any hit area beyond the tab. */\n  @apply pointer-coarse:touch-min-height;\n  /* The wash sits on the ground; the rim stands in for the border. */\n  &[data-state=active] {\n    @apply aurora-current;\n  }\n}\n\n@utility tab-stretch {\n  @apply min-h-9 flex-col gap-1 rounded-control-max-xl px-2 py-2 text-center md:h-9 md:flex-row md:gap-2 md:rounded-control md:px-4 md:py-0 md:whitespace-nowrap pointer-coarse:touch-min-height;\n}\n@utility tab-stack {\n  @apply flex-col items-stretch justify-start gap-1 px-4 py-3 text-left font-normal whitespace-normal hover:not-data-[state=active]:bg-muted;\n  border-radius: min(--theme(--radius-control inline), max(--theme(--radius-sm inline), calc(--theme(--radius-card inline) - 1px - var(--spacing) * 2)));\n}\n@utility tab-line-rule {\n  background: linear-gradient(--theme(--color-border inline), --theme(--color-border inline)) bottom / 100% 2px no-repeat local;\n}\n@utility tab-line {\n  @apply inline-flex shrink-0 cursor-pointer items-center gap-2 select-none border-b-2 border-transparent bg-transparent px-4 py-2.5 text-foreground outline-none hover:not-disabled:bg-muted hover:not-disabled:not-data-[state=active]:border-b-border focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0 pointer-coarse:touch-min-height;\n  border-radius: min(var(--radius-control), var(--radius-lg)) min(var(--radius-control), var(--radius-lg)) 0 0;\n}\n\n@utility tab-content {\n  @apply outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring;\n}\n@utility ui-input {\n  @apply h-10 pointer-coarse:h-11 min-w-0 rounded-control border border-input bg-field px-4 text-foreground transition-[border-color] duration-200 outline-none selection:bg-accent placeholder:text-muted-foreground hover:border-input-hover focus-visible:border-ring focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive;\n}\n\n@utility ui-textarea {\n  @apply min-h-20 w-full min-w-0 rounded-control-max-2xl border border-input bg-field px-4 py-2.5 text-foreground transition-[border-color] duration-200 outline-none selection:bg-accent placeholder:text-muted-foreground hover:border-input-hover focus-visible:border-ring focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive;\n}\n\n@utility ui-select-trigger {\n  --touch-edge: 1px;\n  @apply flex items-center justify-between gap-2 rounded-control border border-input bg-field whitespace-nowrap select-none text-foreground transition-[border-color] duration-200 outline-none hover:border-input-hover  focus-visible:border-ring focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4;\n}\n@utility ui-select-trigger-touch {\n  &.ui-select-trigger {\n    @apply pointer-coarse:touch-target;\n    &:not(.absolute, .fixed, .sticky) { @apply pointer-coarse:relative pointer-coarse:touch-fit; }\n  }\n}\n\n@utility ui-kbd {\n  @apply pointer-events-none inline-flex w-fit items-center justify-center gap-1 rounded-control-max-sm border border-border bg-muted font-ui text-foreground select-none [[data-slot=tooltip-content]_&]:border-current-30 [[data-slot=tooltip-content]_&]:bg-current-15 [[data-slot=tooltip-content]_&]:text-current [&_svg:not([class*='size-'])]:size-3;\n}\n@utility input-group {\n  @apply rounded-control;\n  /*\n   * An inline addon is one line inside the field, 44px tall under a coarse\n   * pointer: its buttons' room above and below is the field, not the addon's gap.\n   */\n  & > [data-slot=input-group-addon]:is([data-align=inline-start], [data-align=inline-end]) {\n    @media (pointer: coarse) { --touch-row-gap: 44px; }\n  }\n  &:where(:has(> [data-align^=\"block\"]), :has(> textarea)) {\n    @apply rounded-control-max-2xl;\n  }\n  &:where([data-size=\"lg\"]) {\n    @apply rounded-control-max-3xl;\n  }\n  /*\n   * A glass composer is a sheer pane, 40% card, so the aurora shows through\n   * (owner, 30 Oct). Reduced transparency makes it solid, and lite and still\n   * motion quality, which drop the blur, fill it to 92%. They are set here\n   * because a local fill would beat the theme's root fallbacks.\n   */\n  &:where([data-surface=\"glass\"]) {\n    --au-glass-fill: 40%;\n    :where(html[data-au-quality=\"lite\"], html[data-au-quality=\"still\"]) & {\n      --au-glass-fill: 92%;\n    }\n    @media (prefers-reduced-transparency: reduce) {\n      --au-glass-fill: 100%;\n    }\n  }\n}\n\n@utility input-file {\n  @apply file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-bold file:text-foreground;\n}\n\n@utility button-primary {\n  @apply bg-primary text-primary-foreground shadow-xs hover:bg-primary-hover hover:shadow-button;\n}\n\n@utility button-secondary {\n  @apply bg-secondary text-secondary-foreground hover:bg-foreground-15;\n}\n@utility badge-neutral {\n  @apply border-border bg-muted text-foreground;\n}\n\n@utility badge-accent {\n  @apply border-accent-ink-30 bg-accent text-accent-foreground;\n}\n\n@utility badge-green {\n  @apply border-aurora-1-35 bg-aurora-1-15 text-aurora-1-ink;\n}\n\n@utility badge-violet {\n  @apply border-aurora-2-35 bg-aurora-2-15 text-aurora-2-ink;\n}\n\n@utility badge-rose {\n  @apply border-aurora-3-35 bg-aurora-3-15 text-aurora-3-ink;\n}\n\n@utility badge-gold {\n  @apply border-aurora-4-35 bg-aurora-4-15 text-aurora-4-ink;\n}\n@utility badge-red {\n  @apply border-destructive-35 bg-destructive-10 text-destructive;\n}\n\n@utility badge-orange {\n  @apply border-warning-ink-35 bg-warning-ink-5 text-warning-ink;\n}\n@utility badge-operational {\n  @apply border-status-operational-35 bg-status-operational-15 text-status-operational-ink;\n}\n\n@utility badge-minor {\n  @apply border-status-minor-35 bg-status-minor-15 text-status-minor-ink;\n}\n\n@utility badge-major {\n  @apply border-status-major-35 bg-status-major-15 text-status-major-ink;\n}\n\n@utility badge-down {\n  @apply border-status-down-35 bg-status-down-10 text-status-down-ink;\n}\n@utility ui-uptime-bar {\n  & [data-slot=uptime-bar-period] {\n    @apply relative isolate flex-1 overflow-clip rounded-sm bg-status-operational;\n    transform-origin: bottom;\n    transition:\n      opacity 150ms ease-out,\n      scale 150ms cubic-bezier(0.34, 1.56, 0.64, 1);\n  }\n  &[data-size=fill] [data-slot=uptime-bar-period] { @apply rounded-lg; }\n  & [data-tier=no-data] { @apply bg-status-no-data; }\n  & [data-tier]::after { @apply absolute inset-x-0 bottom-0 h-(--uptime-slice,5%); }\n  & [data-tier=minor]::after { @apply bg-status-minor; content: \"\"; }\n  & [data-tier=major]::after { @apply bg-status-major; content: \"\"; }\n  & [data-tier=down]::after { @apply bg-status-down; content: \"\"; }\n  /* The lag cap: the minor tone, edged in the ground so it parts from the bar's green and slice. It stacks above the slice, which fills the bar at 0%. */\n  & [data-marker=lag]::before {\n    @apply absolute inset-x-0 top-0 z-10 h-1.5 border-b border-background bg-status-minor;\n    content: \"\";\n  }\n  &[data-size=fill] { --uptime-grow: 1.06; }\n  /* A sideways drag reads the periods; a vertical one scrolls the page. */\n  & [data-slot=uptime-bar-track] {\n    --uptime-gap: --spacing(0.5);\n    gap: var(--uptime-gap);\n    touch-action: pan-y;\n  }\n  &[data-size=fill] [data-slot=uptime-bar-track] { --uptime-gap: 1px; }\n  /* The tooltip's anchor over period --uptime-index of --uptime-count: bars of equal width between gaps. */\n  & [data-slot=uptime-bar-anchor] {\n    left: calc((100% + var(--uptime-gap)) / var(--uptime-count) * var(--uptime-index));\n    width: calc((100% + var(--uptime-gap)) / var(--uptime-count) - var(--uptime-gap));\n  }\n  & [data-active] {\n    scale: 1 var(--uptime-grow, 1.2);\n    @apply motion-reduce:scale-none;\n  }\n  &[data-reading] [data-slot=uptime-bar-period]:not([data-active]) { @apply opacity-40; }\n}\n@utility nav-shell {\n  /* Browsers with env() define every inset, so it needs no fallback. */\n  --nav-safe-top: env(safe-area-inset-top);\n  position: sticky;\n  top: 0;\n  z-index: var(--z-navbar);\n  display: flow-root;\n  container-type: inline-size;\n  width: 100%;\n  height: calc(var(--navbar-height) + var(--nav-safe-top));\n  padding: var(--nav-safe-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);\n  pointer-events: none;\n  &:where([data-position=static]) { --nav-safe-top: 0px; }\n  /* A phone on its side: the band is 56px, not 76px of a screen about 390px tall. */\n  @media (orientation: landscape) and (max-height: 500px) { --navbar-height: --spacing(14); }\n}\n@utility nav-bar {\n  --nav-inset: --spacing(4);\n  /* Whole pixels: a layer moved by half a pixel blurs its text. */\n  --nav-side: round(max(0px, 50cqw - --theme(--container-narrow) / 2) + var(--nav-inset), 1px);\n  --nav-close: calc(var(--nav-side) - var(--spacing) * 1.25);\n  --nav-cx: --spacing(1.25);\n  --nav-y: calc(var(--spacing) * 10 - var(--navbar-height) / 2);\n  /* No isolation: the shell's z-index already holds the pane, and isolating the bar cost the phone a third of its frames. */\n  position: relative;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  height: var(--navbar-height);\n  padding: 0 --spacing(4);\n\n  & > *, &::before {\n    pointer-events: auto;\n    animation: nav-move 1s linear calc(var(--nav-morph, 0) * -1s) both paused;\n  }\n  & > :first-child {\n    --nav-x: calc(var(--nav-close) + var(--nav-cx));\n    /* Beside the actions both sides close in, so it gives back twice the distance; beside centre links, once. */\n    margin-inline-end: max(0px, min(2 * var(--nav-close), var(--nav-slack, 0px)), min(var(--nav-close), var(--nav-room, 0px)));\n  }\n  & > :last-child {\n    /* With too little room, the actions stop at the brand, and take their content's width. */\n    --nav-x: calc(max(0px, 2 * var(--nav-close) - var(--nav-slack, 100vw)) - var(--nav-close) + var(--nav-cx));\n    justify-self: end;\n  }\n\n  &::before {\n    content: '';\n    position: absolute;\n    inset: --spacing(3) var(--nav-side) auto;\n    z-index: -1;\n    height: --spacing(14);\n    border-radius: 999px;\n    background: oklch(from --theme(--color-card inline) l c h / var(--au-glass-fill-thin));\n    backdrop-filter: var(--au-glass-blur);\n    box-shadow:\n      0 0 0 1px --theme(--color-nav-edge inline),\n      0 16px 40px -18px --theme(--color-nav-shadow inline);\n    translate: 0 calc(var(--nav-y) * -1);\n    scale: calc(100cqw / (100cqw - 2 * var(--nav-side))) calc(var(--navbar-height) / --spacing(14));\n    opacity: 0;\n    animation-name: nav-pane;\n  }\n  :where([data-nav-top]) &::before {\n    backdrop-filter: none;\n  }\n\n  /*\n   * useScrollMorph sets data-nav-scroll in the browser, where scroll-driven\n   * animations work. The server HTML never has it, so pages do not inline\n   * this rule; until hydration the bar holds the top of the page.\n   */\n  :where([data-nav-scroll]) & > *, :where([data-nav-scroll]) &::before {\n    animation-play-state: running;\n    animation-timeline: scroll(root);\n    animation-range: 0 160px;\n  }\n}\n@utility nav-bar-wide {\n  --nav-inset: --spacing(6);\n  --nav-close: calc(var(--nav-side) - var(--spacing) * 6.5);\n  --nav-cx: --spacing(1.5);\n  padding: 0 --spacing(10);\n\n  &:has(> * + * + *) {\n    grid-template-columns: 1fr auto 1fr;\n  }\n}\n@utility nav-bar-centre {\n  &:has(> * + * + *) {\n    grid-template-columns: 1fr auto 1fr;\n  }\n}\n\n@utility table-scroll-footer {\n  @apply border-t border-border bg-muted font-bold [&>tr]:last:border-b-0;\n}\n@utility ui-table-row {\n  border-bottom-width: 1px;\n  @apply border-border transition-colors hover:bg-muted has-aria-expanded:bg-muted data-[state=selected]:bg-accent;\n}\n@utility choice-segmented-2 {\n  @apply gap-x-1 overflow-x-auto rounded-control border border-border bg-muted p-1;\n  --touch-row-gap: --spacing(2);\n}\n\n@utility choice-disabled {\n  @apply has-disabled:pointer-events-none has-disabled:opacity-50;\n}\n\n@utility card-variants {\n  @apply relative flex flex-col rounded-card border text-card-foreground;\n}\n@utility card-inset {\n  &.card-variants { @apply rounded-inset; }\n}\n\n@utility ds-card-grain {\n  @apply border-border bg-card grain shadow-card;\n}\n\n@utility ds-card-sky {\n  @apply isolate border-foreground-12 bg-sky grain-sky shadow-card;\n}\n@utility rim-inside {\n  &::after {\n    inset: 0;\n  }\n}\n\n@utility card-action {\n  @apply col-start-2 row-span-2 row-start-1 self-start justify-self-end;\n}\n\n@utility accordion-content {\n  @apply overflow-hidden text-base text-muted-foreground data-[state=open]:animate-accordion-down;\n}\n\n@utility tab-tabs-list-variants {\n  @apply max-w-full items-center gap-1 overflow-x-auto overscroll-x-contain rounded-control border border-border bg-muted p-1;\n  /* Keep this after the track's default corner, at the same specificity. */\n  &:where([data-variant=\"stretch\"]) {\n    @apply max-md:rounded-control-max-2xl;\n  }\n}\n\n@utility tab-stretch-2 {\n  @apply grid auto-cols-fr grid-flow-col md:inline-flex;\n}\n\n@utility tab-default {\n  @apply h-9 rounded-control px-4 whitespace-nowrap;\n}\n\n\n\n\n\n\n\n\n\n\n@utility ds-code-block-pre-variants {\n  @apply scrollbar-quiet overflow-x-auto px-4 py-3.5 font-mono text-foreground outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring;\n}\n\n@utility ds-code-block-shiki {\n  @apply [&_span]:text-(color:--shiki-light) [&_span]:[font-style:var(--shiki-light-font-style,inherit)] [&_span]:[font-weight:var(--shiki-light-font-weight,inherit)] dark:[&_span]:text-(color:--shiki-dark) dark:[&_span]:[font-style:var(--shiki-dark-font-style,inherit)] dark:[&_span]:[font-weight:var(--shiki-dark-font-weight,inherit)];\n}\n\n@utility ds-code-block-code-block {\n  @apply flex h-12 items-center border-b border-border pr-12 pl-4 text-eyebrow font-bold text-accent-ink uppercase;\n}\n\n@utility ds-code-block-code-block-2 {\n  @apply absolute top-2 right-2 grid size-8 pointer-coarse:touch-target place-items-center rounded-full text-muted-foreground transition-colors duration-200 outline-none hover:bg-muted hover:text-foreground focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring;\n}\n@utility ui-prose {\n  @apply text-pretty text-foreground [&>*+*]:mt-5 [&>:first-child]:mt-0 [&>h2]:mt-14 [&>h2]:font-display [&>h2]:text-3xl [&>h2]:font-bold [&>h2]:tracking-tight [&>h2]:text-balance [&>h3]:mt-10 [&>h3]:font-display [&>h3]:text-xl [&>h3]:font-bold [&>h3]:tracking-tight [&>h3]:text-balance [&>h4]:mt-8 [&>h4]:text-base [&>h4]:font-bold [&>h2+*]:mt-4 [&>h3+*]:mt-3 [&>h4+*]:mt-2 [&>h2+h3]:mt-6 [&>:is(h2,h3,h4)]:scroll-mt-24 [&>:is(h2,h3,h4)]:wrap-anywhere [&>:is(h2,h3,h4)]:text-title [&>ul]:list-disc [&>ol]:list-decimal [&>:is(ul,ol)]:pl-6 [&_li]:pl-1 [&_li+li]:mt-2 [&_li]:marker:text-accent-ink [&_li>:is(ul,ol)]:mt-2 [&_li>ul]:list-[circle] [&_li>:is(ul,ol)]:pl-6 [&_.contains-task-list]:list-none [&_.contains-task-list]:pl-0 [&_.task-list-item]:pl-0 [&_.task-list-item>input]:mr-2.5 [&_.task-list-item>input]:size-4 [&_.task-list-item>input]:align-middle [&_.task-list-item>input]:accent-primary [&_a[href]:not([data-slot])]:text-accent-ink [&_a[href]:not([data-slot])]:underline [&_a[href]:not([data-slot])]:decoration-accent-ink-40 [&_a[href]:not([data-slot])]:underline-offset-4 [&_a[href]:not([data-slot])]:hover:decoration-accent-ink [&_a[href]:not([data-slot])]:rounded-xs [&_a[href]:not([data-slot]):focus-visible]:outline-2 [&_a[href]:not([data-slot]):focus-visible]:outline-offset-2 [&_a[href]:not([data-slot]):focus-visible]:outline-ring [&_strong]:font-bold [&_:not(pre)>code]:rounded-sm [&_:not(pre)>code]:bg-muted [&_:not(pre)>code]:px-1.5 [&_:not(pre)>code]:py-0.5 [&_:not(pre)>code]:font-mono [&_:not(pre)>code]:text-sm [&_:not(pre)>code]:text-foreground [&_:not(pre)>code]:wrap-anywhere [&>blockquote]:border-l-2 [&>blockquote]:border-accent-ink-40 [&>blockquote]:pl-5 [&>blockquote]:text-muted-foreground [&>hr]:my-12 [&>hr]:border-border [&_tr:not([data-slot])]:border-b [&_tr:not([data-slot])]:border-border [&_tr:not([data-slot])]:transition-colors [&_tbody>tr:not([data-slot])]:hover:bg-muted [&_tbody>tr:not([data-slot]):last-child]:border-0 [&_th:not([data-slot])]:h-11 [&_th:not([data-slot])]:px-3 [&_th:not([data-slot])]:text-left [&_th:not([data-slot])]:align-middle [&_th:not([data-slot])]:text-eyebrow [&_th:not([data-slot])]:font-bold [&_th:not([data-slot])]:text-muted-foreground [&_th:not([data-slot])]:uppercase [&_td:not([data-slot])]:px-3 [&_td:not([data-slot])]:py-3.5 [&_td:not([data-slot])]:align-middle [&_:is(th,td):not([data-slot]):first-child]:pl-0 [&_:is(th,td):not([data-slot]):last-child]:pr-0 [&_img:not([data-nimg])]:h-auto [&_img:not([data-nimg])]:max-w-full [&_img:not([data-nimg])]:rounded-xl;\n}\n@utility sidebar-wrapper {\n  --sidebar-width: --spacing(64);\n  --sidebar-width-icon: --spacing(12);\n  --sidebar-width-icon-gap: calc(var(--sidebar-width-icon) + --spacing(4));\n  --sidebar-width-icon-framed: calc(var(--sidebar-width-icon) + --spacing(4) + 2px);\n}\n@utility sidebar-menu-button {\n  &[data-slot=sidebar-menu-sub-button] {\n    @apply pointer-coarse:relative pointer-coarse:overflow-visible pointer-coarse:sidebar-menu-touch;\n  }\n  &[data-slot=sidebar-menu-button] {\n    @apply pointer-coarse:relative pointer-coarse:overflow-visible pointer-coarse:sidebar-menu-touch;\n    /* A row with an action makes room for it. :has() on direct children only, so a DOM insertion elsewhere restyles nothing here. */\n    :where([data-slot=sidebar-menu-item]):has(> [data-slot=sidebar-menu-action]) > & {\n      @apply pr-8 pointer-coarse:sidebar-menu-touch-action;\n    }\n    :is([data-collapsible=icon]) & { @apply pointer-coarse:sidebar-menu-touch-icon; }\n    &[data-active=true] {\n      @apply aurora-current bg-transparent;\n      & > svg { stroke-width: 2.25; }\n    }\n  }\n  @apply flex items-center gap-2 overflow-hidden rounded-lg text-left font-ui text-sidebar-foreground outline-none transition-[background-color] duration-200 motion-reduce:transition-none hover:bg-muted focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-sidebar-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-bold data-[active=true]:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0;\n}\n@utility sidebar-action {\n  &[data-slot=sidebar-menu-action] { @apply pointer-coarse:opacity-100; }\n  @apply absolute flex aspect-square items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none transition-transform pointer-coarse:touch-target pointer-fine:after:absolute pointer-fine:after:-inset-2 pointer-fine:md:after:hidden hover:bg-muted focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sidebar-ring [&>svg]:size-4 [&>svg]:shrink-0;\n}\n@utility ui-chart-palette {\n  --chart-series-1: --theme(--color-chart-1 inline);\n  --chart-series-2: --theme(--color-chart-2 inline);\n  --chart-series-3: --theme(--color-chart-3 inline);\n  --chart-series-4: --theme(--color-chart-4 inline);\n  --chart-series-5: --theme(--color-chart-5 inline);\n}\n\n@utility ui-chart {\n  @apply ui-chart-palette;\n  @apply [&_.recharts-cartesian-axis-tick-value]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:rounded-sm [&_.recharts-surface]:outline-none [&_.recharts-surface:focus-visible]:outline-solid [&_.recharts-surface:focus-visible]:outline-2 [&_.recharts-surface:focus-visible]:outline-offset-2 [&_.recharts-surface:focus-visible]:outline-ring;\n}\n@utility table-surface-card {\n  --table-surface: --theme(--color-card inline);\n  --table-tint: transparent;\n  --tone-surface: --theme(--color-card inline);\n}\n\n@utility table-surface-background {\n  --table-surface: --theme(--color-background inline);\n  --table-tint: transparent;\n  --tone-surface: --theme(--color-background inline);\n}\n\n@utility table-surface-muted {\n  --table-surface: --theme(--color-card inline);\n  --table-tint: color-mix(in oklab, --theme(--color-foreground inline) 6%, --theme(--color-card inline));\n  --tone-surface: var(--table-tint);\n}\n\n@utility table-surface-glass {\n  --table-surface: color-mix(in srgb, --theme(--color-card inline) var(--au-glass-fill, 80%), transparent);\n  --table-tint: transparent;\n  &[data-density] > :is(thead, tbody, tfoot) > tr > :first-child { @apply glass; }\n}\n\n@utility ui-table-paint {\n  background-color: var(--table-surface);\n  background-image: linear-gradient(var(--table-wash, transparent), var(--table-wash, transparent)), linear-gradient(var(--table-tint), var(--table-tint));\n}\n\n@utility ui-table-scroll {\n  scroll-padding-inline-start: calc(var(--table-pin-width, 0px) + --spacing(1));\n  scroll-padding-inline-end: --spacing(1);\n}\n\n@utility ui-table-sticky {\n  & > tbody > tr, & > tbody > tr:is([data-state=selected], :has([aria-expanded])) {\n    @apply ui-table-paint;\n  }\n  & > tbody > tr { --table-wash: transparent; }\n  /* Only a hovering pointer washes a row: after a tap, a touch screen keeps :hover. */\n  @media (hover: hover) {\n    & > tbody > tr:hover { @apply ui-table-paint; --table-wash: --theme(--color-muted inline); }\n  }\n  & > tbody > tr:has([aria-expanded=true]) { --table-wash: --theme(--color-muted inline); }\n  & > tbody > tr[data-state=selected] { --table-wash: --theme(--color-accent inline); }\n  & > :is(thead, tbody, tfoot) > tr > :first-child {\n    @apply sticky start-0 z-10 ui-table-paint;\n  }\n  & > tfoot > tr { --table-wash: --theme(--color-muted inline); }\n  [data-scrolled] & > :is(thead, tbody, tfoot) > tr > :first-child::after {\n    content: '';\n    @apply pointer-events-none absolute inset-y-0 end-0 w-px bg-border shadow-xs;\n  }\n}\n\n@utility ui-table-stack {\n  @apply block;\n  & > :is(thead, tbody, tfoot) { @apply flex flex-col gap-3; }\n  & > thead > tr {\n    @apply flex flex-wrap items-center gap-x-4 border-0 hover:bg-transparent;\n  }\n  & > thead > tr > th {\n    @apply static flex h-auto items-center px-0 py-0;\n    background-color: transparent;\n  }\n  & > thead button:not([role=checkbox]) { @apply min-h-11 normal-case; }\n  & > thead [data-stack-role=hidden] { @apply hidden; }\n  & > thead th:not(:has(button, input)) { @apply sr-only; }\n  & [role=checkbox] {\n    @apply relative;\n    &::before { content: ''; @apply absolute -inset-3.5; }\n  }\n  & > tbody > tr {\n    @apply flex flex-wrap gap-3 rounded-lg border border-border p-4;\n    --table-wash: transparent;\n  }\n  & > tbody > tr:last-child { @apply border; }\n  & > tbody > tr, & > tbody > tr:is([data-state=selected], :has([aria-expanded])) { @apply ui-table-paint; }\n  @media (hover: hover) {\n    & > tbody > tr:hover { @apply ui-table-paint; --table-wash: --theme(--color-muted inline); }\n    &.table-surface-glass > tbody > tr:hover { @apply glass; }\n  }\n  & > tbody > tr:has([aria-expanded=true]) { --table-wash: --theme(--color-muted inline); }\n  & > tbody > tr[data-state=selected] { --table-wash: --theme(--color-accent inline); }\n  &.table-surface-glass > tbody > tr, &.table-surface-glass > tbody > tr:is([data-state=selected], :has([aria-expanded])) { @apply glass; }\n  & > tbody > tr > :is(td, th) {\n    @apply static grid h-auto basis-full grid-cols-3 items-start gap-3 p-0 whitespace-normal;\n    overflow-wrap: anywhere;\n    background: transparent;\n    backdrop-filter: none;\n  }\n  &.table-surface-glass[data-density] > tbody > tr > :is(td, th) {\n    background: transparent;\n    backdrop-filter: none;\n  }\n  & > tbody > tr > :is(td, th)::after { @apply hidden; }\n  & [data-slot=table-cell-label] { @apply block text-sm font-normal text-muted-foreground; }\n  & [data-slot=table-cell-value] { @apply col-span-2; }\n  & > tbody > tr > [data-stack-role=title] { @apply flex min-w-0 flex-1 basis-0 text-base font-bold; }\n  & > tbody > tr > [data-stack-role=title] > [data-slot=table-cell-label] { @apply hidden; }\n  & > tbody > tr > [data-stack-role=action] { @apply flex flex-wrap items-center gap-2; }\n  & > tbody > tr > [data-stack-role=action] > [data-slot=table-cell-label] { @apply hidden; }\n  & > tbody > tr > [data-stack-role=action]:first-child:has([role=checkbox]) { @apply basis-auto; }\n  & > tbody > tr > [data-stack-role=action] button:not([role=checkbox]) { @apply min-h-11; }\n  & > tbody > tr > [data-stack-role=hidden] { @apply hidden; }\n  & [data-slot=table-caption] { @apply block; }\n  & > tbody > tr > td[colspan] { @apply block; }\n  & > tbody > tr:has(+ [data-slot=data-table-expanded-row]) { @apply rounded-b-none border-b-0; }\n  & > tbody > tr[data-slot=data-table-expanded-row] {\n    @apply -mt-3 rounded-none border-0 pt-0;\n  }\n  & > tbody > tr[data-slot=data-table-expanded-row]:not([data-state=selected]) { --table-wash: --theme(--color-muted inline); }\n}\n\n\n@utility ui-table-state {\n  @apply flex min-w-0 flex-1 flex-col items-center justify-center gap-2.5 rounded-lg p-4 text-center text-balance;\n  &[aria-busy=true] { @apply items-stretch gap-3 rounded-none px-0 py-3; }\n  & [data-slot=table-loading-label] { @apply sr-only; }\n  & [data-slot=table-loading-row] { @apply flex gap-3; }\n  & [data-slot=skeleton] { @apply h-4 min-w-0 flex-1 animate-pulse rounded-sm bg-foreground-10 motion-reduce:animate-none; }\n  & [data-slot=table-empty-description] { @apply max-w-sm text-sm leading-relaxed text-muted-foreground; }\n}\n@utility ui-copy-field-button {\n  @apply inline-flex shrink-0 touch-manipulation items-center justify-center text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:bg-muted hover:text-foreground data-[slot=copy-field-reveal]:focus-visible:outline-solid data-[slot=copy-field-reveal]:focus-visible:outline-2 data-[slot=copy-field-reveal]:focus-visible:-outline-offset-2 data-[slot=copy-field-reveal]:focus-visible:outline-ring disabled:pointer-events-none disabled:text-muted-foreground;\n}\n@utility ui-copy-field-control {\n  /* Only a hovering pointer fills it: after a tap, a touch screen keeps :hover. */\n  @media (hover: hover) {\n    &:where(:not([data-disabled] *)):not(:has([data-slot='copy-field-reveal']:hover)):hover {\n      @apply bg-muted;\n      &[data-variant='inline'] {\n        @apply bg-foreground-10;\n      }\n      & [data-slot='copy-field-copy'] {\n        @apply bg-foreground-15;\n      }\n    }\n  }\n  &:where(:not([data-disabled] *)):not(:has([data-slot='copy-field-reveal']:active)) {\n    &:active {\n      @apply bg-foreground-10;\n      &[data-variant='inline'] {\n        @apply bg-foreground-15;\n      }\n      & [data-slot='copy-field-copy'] {\n        @apply bg-foreground-20;\n      }\n    }\n  }\n  &:has([data-slot='copy-field-copy']:focus-visible) {\n    @apply border-ring outline-solid outline-2 outline-offset-2 outline-ring;\n  }\n}\n@keyframes nav-move {\n  to { translate: var(--nav-x, var(--nav-cx)) var(--nav-y); }\n}\n\n@keyframes nav-pane {\n  to { translate: 0; scale: 1; opacity: 1; }\n}\n\n@supports (color: color-mix(in oklab, black, white)) {\n:where(body) { --tone-surface: var(--background); }\n/* Solid tints are recomputed where a part meets its surface. No alpha channel. */\n:where(body, [data-slot], .bg-background, .bg-card, .bg-popover, .bg-sky, .bg-sidebar, .bg-field, .bg-foreground, .bg-primary) {\n  --current-10: color-mix(in oklab, currentColor 10%, var(--tone-surface));\n  --secondary: color-mix(in oklab, var(--foreground) 10%, var(--tone-surface));\n  --muted: color-mix(in oklab, var(--foreground) 6%, var(--tone-surface));\n  --accent: color-mix(in oklab, var(--primary) 14%, var(--tone-surface));\n  --sidebar-accent: var(--accent);\n  --background-70: color-mix(in oklab, var(--background) 70%, var(--tone-surface));\n  --background-80: color-mix(in oklab, var(--background) 80%, var(--tone-surface));\n  --foreground-15: color-mix(in oklab, var(--foreground) 15%, var(--tone-surface));\n  --foreground-10: var(--secondary);\n  --foreground-35: color-mix(in oklab, var(--foreground) 35%, var(--tone-surface));\n  --destructive-10: color-mix(in oklab, var(--destructive) 10%, var(--tone-surface));\n  --accent-ink-40: color-mix(in oklab, var(--accent-ink) 40%, var(--tone-surface));\n  --warning-ink-90: color-mix(in oklab, var(--warning-ink) 90%, var(--tone-surface));\n  --destructive-90: color-mix(in oklab, var(--destructive) 90%, var(--tone-surface));\n  --foreground-25: color-mix(in oklab, var(--foreground) 25%, var(--tone-surface));\n  --accent-ink-30: color-mix(in oklab, var(--accent-ink) 30%, var(--tone-surface));\n  --warning-ink-35: color-mix(in oklab, var(--warning-ink) 35%, var(--tone-surface));\n  --warning-ink-5: color-mix(in oklab, var(--warning-ink) 5%, var(--tone-surface));\n  --destructive-35: color-mix(in oklab, var(--destructive) 35%, var(--tone-surface));\n  --foreground-45: color-mix(in oklab, var(--foreground) 45%, var(--tone-surface));\n  --accent-ink-60: color-mix(in oklab, var(--accent-ink) 60%, var(--tone-surface));\n  --aurora-1-25: color-mix(in oklab, var(--aurora-1) 25%, var(--tone-surface));\n  --aurora-2-25: color-mix(in oklab, var(--aurora-2) 25%, var(--tone-surface));\n  --aurora-3-25: color-mix(in oklab, var(--aurora-3) 25%, var(--tone-surface));\n  --aurora-4-25: color-mix(in oklab, var(--aurora-4) 25%, var(--tone-surface));\n  --destructive-20: color-mix(in oklab, var(--destructive) 20%, var(--tone-surface));\n  --warning-ink-10: color-mix(in oklab, var(--warning-ink) 10%, var(--tone-surface));\n  --status-operational-25: color-mix(in oklab, var(--status-operational) 25%, var(--tone-surface));\n  --status-minor-25: color-mix(in oklab, var(--status-minor) 25%, var(--tone-surface));\n  --status-major-25: color-mix(in oklab, var(--status-major) 25%, var(--tone-surface));\n  --status-down-20: color-mix(in oklab, var(--status-down) 20%, var(--tone-surface));\n  --aurora-1-5: color-mix(in oklab, var(--aurora-1) 5%, var(--tone-surface));\n  /* Inactive tabs and choices. Night mixes 85% (--foreground-75-mix), for 4.5:1 on a muted track over the popover. */\n  --foreground-75: color-mix(in oklab, var(--foreground) var(--foreground-75-mix, 75%), var(--tone-surface));\n  --foreground-20: color-mix(in oklab, var(--foreground) 20%, var(--tone-surface));\n  --current-30: color-mix(in oklab, currentColor 30%, var(--tone-surface));\n  --current-15: color-mix(in oklab, currentColor 15%, var(--tone-surface));\n  --aurora-1-35: color-mix(in oklab, var(--aurora-1) 35%, var(--tone-surface));\n  --aurora-1-15: color-mix(in oklab, var(--aurora-1) 15%, var(--tone-surface));\n  --aurora-2-35: color-mix(in oklab, var(--aurora-2) 35%, var(--tone-surface));\n  --aurora-2-15: color-mix(in oklab, var(--aurora-2) 15%, var(--tone-surface));\n  --aurora-3-35: color-mix(in oklab, var(--aurora-3) 35%, var(--tone-surface));\n  --aurora-3-15: color-mix(in oklab, var(--aurora-3) 15%, var(--tone-surface));\n  --aurora-4-35: color-mix(in oklab, var(--aurora-4) 35%, var(--tone-surface));\n  --aurora-4-15: color-mix(in oklab, var(--aurora-4) 15%, var(--tone-surface));\n  --status-operational-35: color-mix(in oklab, var(--status-operational) 35%, var(--tone-surface));\n  --status-operational-15: color-mix(in oklab, var(--status-operational) 15%, var(--tone-surface));\n  --status-minor-35: color-mix(in oklab, var(--status-minor) 35%, var(--tone-surface));\n  --status-minor-15: color-mix(in oklab, var(--status-minor) 15%, var(--tone-surface));\n  --status-major-35: color-mix(in oklab, var(--status-major) 35%, var(--tone-surface));\n  --status-major-15: color-mix(in oklab, var(--status-major) 15%, var(--tone-surface));\n  --status-down-35: color-mix(in oklab, var(--status-down) 35%, var(--tone-surface));\n  --status-down-10: color-mix(in oklab, var(--status-down) 10%, var(--tone-surface));\n  --foreground-12: color-mix(in oklab, var(--foreground) 12%, var(--tone-surface));\n}\n\n:where(.bg-background, [data-au-band]) {\n  --tone-surface: var(--background);\n}\n:where(.bg-card, [data-slot='card']:not([data-surface='well']):not([data-surface='sky'])) {\n  --tone-surface: var(--card);\n}\n:where(.bg-sky, [data-slot='card'][data-surface='sky']) {\n  --tone-surface: var(--sky);\n}\n/* The sidebar's ground: a hover on it mixes with the sidebar, not the page under it. */\n:where(.bg-sidebar) {\n  --tone-surface: var(--sidebar);\n}\n/* A field wrapper (an input group, a copy field): a button inside it bands and hovers on the field. */\n:where(.bg-field) {\n  --tone-surface: var(--field);\n}\n/*\n * A well is the muted fill of the card it sits in. It cannot read its own\n * fill as its ground, so it hands that fill to its children as theirs, and a\n * hover inside it mixes one step darker than the well. A muted fill\n * (bg-muted) and the muted tracks of Tabs and a segmented ChoiceGroup do the\n * same, so a focus band inside them takes the track, not the page.\n */\n:where([data-slot='card'][data-surface='well'], .bg-muted, .tab-tabs-list-variants, .choice-segmented-2) {\n  --well: var(--muted);\n}\n:where([data-slot='card'][data-surface='well'], .bg-muted, .tab-tabs-list-variants, .choice-segmented-2) > * {\n  --tone-surface: var(--well);\n}\n:where(.bg-popover, [data-slot='popover-content'], [data-slot='select-content'], [data-slot='dropdown-menu-content'], [data-slot='dropdown-menu-sub-content']) {\n  --tone-surface: var(--popover);\n}\n:where(.bg-foreground, [data-slot='tooltip-content'][data-variant='default']) {\n  --tone-surface: var(--foreground);\n}\n\n\n:where(.bg-primary) {\n  --tone-surface: var(--primary);\n}\n}\n",
      "type": "registry:file",
      "target": "styles/dwellir/parts.css"
    }
  ],
  "cssVars": {
    "theme": {
      "radius-sm": "0.25rem",
      "radius-md": "0.375rem",
      "radius-lg": "0.5rem",
      "radius-xl": "0.75rem",
      "radius-2xl": "1rem",
      "radius-3xl": "1.5rem",
      "radius-4xl": "2rem",
      "font-display": "var(--font-ubuntu, 'Ubuntu'), 'Ubuntu Fallback', ui-sans-serif, system-ui, sans-serif",
      "font-label": "var(--font-sans)",
      "font-ui": "var(--font-sans)",
      "radius-card": "1.125rem",
      "radius-sheet": "2rem",
      "radius-control": "999px",
      "radius-control-max-sm": "min(var(--radius-control), var(--radius-sm))",
      "radius-control-max-xl": "min(var(--radius-control), var(--radius-xl))",
      "radius-control-max-2xl": "min(var(--radius-control), var(--radius-2xl))",
      "radius-control-max-3xl": "min(var(--radius-control), var(--radius-3xl))",
      "radius-inset": "max(min(var(--radius-xl), var(--radius-card)), calc(var(--radius-card) - 1px - var(--spacing) * 4))",
      "container-page": "100rem",
      "container-narrow": "85.9375rem",
      "container-display": "16.5em",
      "container-display-phone": "7.9em",
      "breakpoint-xs": "37.5rem",
      "text-display": "clamp(2.5rem, 1.5rem + 3.6vw, 4.5rem)",
      "text-display--line-height": "1.02",
      "text-display--letter-spacing": "-0.02em",
      "text-heading": "clamp(2rem, 3.6vw, 3.125rem)",
      "text-heading--line-height": "1.05",
      "text-heading--letter-spacing": "-0.035em",
      "text-eyebrow": "0.75rem",
      "text-eyebrow--line-height": "1.4",
      "text-eyebrow--letter-spacing": "0.12em",
      "text-section": "1.5rem",
      "text-section--line-height": "1.2",
      "text-section--letter-spacing": "-0.025em",
      "text-card-title": "1.125rem",
      "text-card-title--line-height": "1.3",
      "shadow-xs": "0 1px 2px 0 rgb(0 0 0 / calc(0.05 * var(--shadow-alpha, 1)))",
      "shadow-card": "inset 0 1px 0 0 oklch(1 0 0 / calc(0.06 * var(--shadow-alpha, 1))), 0 24px 48px -32px color-mix(in srgb, var(--shade) calc(55% * var(--shadow-alpha, 1)), transparent)",
      "shadow-popover": "0 1px 2px 0 color-mix(in srgb, var(--shade) calc(20% * var(--shadow-alpha, 1)), transparent), 0 24px 56px -16px color-mix(in srgb, var(--shade) calc(50% * var(--shadow-alpha, 1)), transparent)",
      "shadow-glow": "0 22px 48px -30px color-mix(in srgb, var(--aurora-2) 70%, transparent)",
      "shadow-button": "0 10px 28px -12px color-mix(in srgb, var(--primary) 75%, transparent)",
      "grain-card": "var(--card-grain)",
      "grain-sky": "var(--sky-grain)",
      "z-index-notice": "10000",
      "z-index-modal": "10010",
      "z-index-popover": "10020",
      "inset-modal-t": "max(calc(var(--spacing) * 3), env(safe-area-inset-top, 0px))",
      "inset-modal-r": "max(calc(var(--spacing) * 3), env(safe-area-inset-right, 0px))",
      "inset-modal-b": "max(calc(var(--spacing) * 3), env(safe-area-inset-bottom, 0px))",
      "inset-modal-l": "max(calc(var(--spacing) * 3), env(safe-area-inset-left, 0px))",
      "inset-modal-cx": "calc(50% + (max(calc(var(--spacing) * 3), env(safe-area-inset-left, 0px)) - max(calc(var(--spacing) * 3), env(safe-area-inset-right, 0px))) / 2)",
      "inset-modal-cy": "calc(50% + (max(calc(var(--spacing) * 3), env(safe-area-inset-top, 0px)) - max(calc(var(--spacing) * 3), env(safe-area-inset-bottom, 0px))) / 2)",
      "width-modal": "calc(100% - max(calc(var(--spacing) * 3), env(safe-area-inset-left, 0px)) - max(calc(var(--spacing) * 3), env(safe-area-inset-right, 0px)))",
      "max-height-modal": "calc(100dvh - max(calc(var(--spacing) * 3), env(safe-area-inset-top, 0px)) - max(calc(var(--spacing) * 3), env(safe-area-inset-bottom, 0px)))",
      "inset-corner-r": "max(calc(var(--spacing) * 6), env(safe-area-inset-right, 0px))",
      "inset-corner-b": "max(calc(var(--spacing) * 6), env(safe-area-inset-bottom, 0px))",
      "inset-corner-l": "max(calc(var(--spacing) * 6), env(safe-area-inset-left, 0px))",
      "max-height-modal-corner": "calc(100dvh - max(calc(var(--spacing) * 6), env(safe-area-inset-top, 0px)) - max(calc(var(--spacing) * 6), env(safe-area-inset-bottom, 0px)))",
      "max-height-modal-docked": "calc(100dvh - max(calc(var(--spacing) * 4), env(safe-area-inset-top, 0px)))",
      "padding-docked-b": "max(calc(var(--spacing) * 4), env(safe-area-inset-bottom, 0px))",
      "padding-gutter": "max(calc(var(--spacing) * 4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px))",
      "padding-gutter-lg": "max(calc(var(--spacing) * 6), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px))",
      "max-width-popover": "calc(100vw - var(--spacing) * 6)"
    },
    "light": {
      "background": "oklch(1 0 0)",
      "foreground": "oklch(0.26 0.01 248)",
      "title": "oklch(0.167 0.004 229)",
      "card": "oklch(0.963 0.003 248)",
      "card-foreground": "oklch(0.26 0.01 248)",
      "popover": "oklch(1 0 0)",
      "popover-foreground": "oklch(0.26 0.01 248)",
      "primary": "oklch(0.7 0.1 172)",
      "primary-hover": "oklch(0.74 0.09 174)",
      "primary-foreground": "oklch(0 0 0)",
      "secondary": "oklch(0.93 0 349)",
      "secondary-foreground": "oklch(0.26 0.01 248)",
      "muted": "oklch(0.96 0 353)",
      "muted-foreground": "oklch(0.488 0.005 258)",
      "accent": "oklch(0.957 0.014 24)",
      "accent-foreground": "oklch(0.43 0.06 172)",
      "accent-ink": "oklch(0.43 0.06 172)",
      "destructive": "oklch(0.5 0.18 27)",
      "destructive-foreground": "oklch(1 0 0)",
      "warning-ink": "oklch(0.51 0.1086 73)",
      "border": "oklch(0.911 0.007 248)",
      "input": "oklch(0.87 0.005 248)",
      "field": "oklch(1 0 0)",
      "ring": "oklch(0.26 0.01 248)",
      "scrim": "oklch(0.238 0.014 173 / 0.4)",
      "sky": "oklch(0.933 0.003 248)",
      "aurora-1": "oklch(0.58 0.09 172)",
      "aurora-2": "oklch(0.565 0.135 295)",
      "aurora-3": "oklch(0.58 0.14 357)",
      "aurora-4": "oklch(0.66 0.115 75)",
      "aurora-1-ink": "oklch(0.43 0.05 177)",
      "aurora-2-ink": "oklch(0.42 0.08 294)",
      "aurora-3-ink": "oklch(0.424 0.075 352)",
      "aurora-4-ink": "oklch(0.47 0.06 78)",
      "status-operational": "oklch(0.58 0.09 172)",
      "status-operational-ink": "oklch(0.43 0.06 172)",
      "status-minor": "oklch(0.63 0.11 75)",
      "status-minor-ink": "oklch(0.47 0.06 78)",
      "status-major": "oklch(0.58 0.14 357)",
      "status-major-ink": "oklch(0.424 0.075 352)",
      "status-down": "oklch(0.5 0.18 27)",
      "status-down-ink": "oklch(0.5 0.18 27)",
      "status-no-data": "oklch(0.629 0.015 248)",
      "status-no-data-ink": "oklch(0.51 0.005 258)",
      "chart-1": "oklch(0.58 0.09 172)",
      "chart-2": "oklch(0.565 0.135 295)",
      "chart-3": "oklch(0.58 0.14 357)",
      "chart-4": "oklch(0.6 0.11 74)",
      "chart-5": "oklch(0.56 0.07 261)",
      "sidebar": "oklch(0.963 0.003 248)",
      "sidebar-foreground": "oklch(0.26 0.01 248)",
      "sidebar-primary": "oklch(0.7 0.1 172)",
      "sidebar-primary-foreground": "oklch(0 0 0)",
      "sidebar-accent": "oklch(0.957 0.014 24)",
      "sidebar-accent-foreground": "oklch(0.43 0.06 172)",
      "sidebar-border": "oklch(0.911 0.007 248)",
      "sidebar-ring": "oklch(0.26 0.01 248)",
      "shade": "oklch(0.238 0.014 173)",
      "alt-ground": "oklch(0.963 0.003 248)",
      "alt-card": "oklch(1 0 0)",
      "chain-icon-ground": "oklch(0.963 0.003 248)",
      "nav-edge": "oklch(0.26 0.01 248 / 0.12)",
      "nav-shadow": "oklch(0.238 0.014 173 / 0.5)",
      "background-70": "oklch(1 0 0)",
      "background-80": "oklch(1 0 0)",
      "foreground-15": "oklch(0.89 0 343)",
      "foreground-10": "oklch(0.93 0 349)",
      "foreground-35": "oklch(0.742 0.003 321)",
      "destructive-10": "oklch(0.95 0.02 3)",
      "accent-ink-40": "oklch(0.77 0.023 69)",
      "destructive-90": "oklch(0.55 0.16 24)",
      "foreground-25": "oklch(0.816 0.002 332)",
      "accent-ink-30": "oklch(0.828 0.017 52)",
      "warning-ink-35": "oklch(0.83 0.04 26)",
      "warning-ink-5": "oklch(0.975 0.005 4)",
      "destructive-35": "oklch(0.83 0.06 9)",
      "foreground-45": "oklch(0.668 0.004 310)",
      "accent-ink-60": "oklch(0.655 0.035 103)",
      "aurora-1-25": "oklch(0.895 0.022 43)",
      "aurora-2-25": "oklch(0.891 0.034 344)",
      "aurora-3-25": "oklch(0.895 0.035 359)",
      "aurora-4-25": "oklch(0.91 0.03 19)",
      "destructive-20": "oklch(0.9 0.036 5)",
      "warning-ink-10": "oklch(0.95 0.01 7)",
      "status-operational-25": "oklch(0.895 0.022 43)",
      "status-minor-25": "oklch(0.908 0.027 19)",
      "status-major-25": "oklch(0.895 0.035 359)",
      "status-down-20": "oklch(0.9 0.036 5)",
      "aurora-1-5": "oklch(0.979 0.004 9)",
      "foreground-75": "oklch(0.447 0.007 276)",
      "foreground-20": "oklch(0.852 0.002 338)",
      "current-30": "oklch(0.779 0.003 326)",
      "current-15": "oklch(0.89 0 343)",
      "aurora-1-35": "oklch(0.85 0.03 60)",
      "aurora-1-15": "oklch(0.937 0.013 26)",
      "aurora-2-35": "oklch(0.85 0.05 337)",
      "aurora-2-15": "oklch(0.93 0.02 350)",
      "aurora-3-35": "oklch(0.85 0.05 359)",
      "aurora-3-15": "oklch(0.94 0.02 360)",
      "aurora-4-35": "oklch(0.88 0.04 26)",
      "aurora-4-15": "oklch(0.949 0.017 11)",
      "status-operational-35": "oklch(0.85 0.03 60)",
      "status-operational-15": "oklch(0.937 0.013 26)",
      "status-minor-35": "oklch(0.87 0.04 26)",
      "status-minor-15": "oklch(0.945 0.016 11)",
      "status-major-35": "oklch(0.85 0.05 359)",
      "status-major-15": "oklch(0.94 0.02 360)",
      "status-down-35": "oklch(0.83 0.06 9)",
      "status-down-10": "oklch(0.95 0.02 3)",
      "foreground-12": "oklch(0.91 0 347)",
      "input-hover": "oklch(0.74 0.006 248)",
      "input-strong": "oklch(0.58 0 0)",
      "current-10": "oklch(0.93 0 349)",
      "warning-ink-90": "oklch(0.559 0.09774 73)",
      "warning-foreground": "oklch(1 0 0)"
    },
    "dark": {
      "background": "oklch(0.3 0 0)",
      "foreground": "oklch(0.84 0 0)",
      "title": "oklch(0.93 0 0)",
      "card": "oklch(0.33 0 0)",
      "card-foreground": "oklch(0.84 0 0)",
      "popover": "oklch(0.36 0 0)",
      "popover-foreground": "oklch(0.84 0 0)",
      "primary": "oklch(0.7 0.1 172)",
      "primary-hover": "oklch(0.74 0.09 174)",
      "primary-foreground": "oklch(0 0 0)",
      "secondary": "oklch(0.35 0 0)",
      "secondary-foreground": "oklch(0.84 0 0)",
      "muted": "oklch(0.33 0 0)",
      "muted-foreground": "oklch(0.78 0 0)",
      "accent": "oklch(0.356 0.014 24)",
      "accent-foreground": "oklch(0.785 0.08 174)",
      "accent-ink": "oklch(0.785 0.08 174)",
      "destructive": "oklch(0.82 0.1 20)",
      "destructive-foreground": "oklch(0.3 0 0)",
      "warning-ink": "oklch(0.81 0.1688 78)",
      "border": "oklch(1 0 0 / 0.1)",
      "input": "oklch(0.4 0 0)",
      "field": "oklch(0.25 0 0)",
      "ring": "oklch(0.84 0 0)",
      "scrim": "oklch(0 0 0 / 0.6)",
      "sky": "oklch(0.23 0 0)",
      "aurora-1": "oklch(0.7 0.1 172)",
      "aurora-2": "oklch(0.69 0.12 295)",
      "aurora-3": "oklch(0.7 0.12 357)",
      "aurora-4": "oklch(0.799 0.105 80)",
      "aurora-1-ink": "oklch(0.79 0.05 176)",
      "aurora-2-ink": "oklch(0.795 0.06 297)",
      "aurora-3-ink": "oklch(0.8 0.06 355)",
      "aurora-4-ink": "oklch(0.816 0.055 82)",
      "status-operational": "oklch(0.7 0.1 172)",
      "status-operational-ink": "oklch(0.785 0.08 174)",
      "status-minor": "oklch(0.799 0.105 80)",
      "status-minor-ink": "oklch(0.816 0.055 82)",
      "status-major": "oklch(0.7 0.12 357)",
      "status-major-ink": "oklch(0.8 0.06 355)",
      "status-down": "oklch(0.82 0.1 20)",
      "status-down-ink": "oklch(0.82 0.1 20)",
      "status-no-data": "oklch(0.61 0 0)",
      "status-no-data-ink": "oklch(0.735 0 0)",
      "chart-1": "oklch(0.7 0.1 172)",
      "chart-2": "oklch(0.69 0.12 295)",
      "chart-3": "oklch(0.7 0.12 357)",
      "chart-4": "oklch(0.799 0.105 80)",
      "chart-5": "oklch(0.68 0.06 252)",
      "sidebar": "oklch(0.26 0 0)",
      "sidebar-foreground": "oklch(0.84 0 0)",
      "sidebar-primary": "oklch(0.7 0.1 172)",
      "sidebar-primary-foreground": "oklch(0 0 0)",
      "sidebar-accent": "oklch(0.356 0.014 24)",
      "sidebar-accent-foreground": "oklch(0.75 0.08 174)",
      "sidebar-border": "oklch(0.35 0 0)",
      "sidebar-ring": "oklch(0.84 0 0)",
      "shade": "oklch(0 0 0)",
      "alt-ground": "oklch(0.26 0 0)",
      "alt-card": "oklch(0.3 0 0)",
      "chain-icon-ground": "oklch(0.87 0.003 248)",
      "nav-edge": "oklch(0.84 0 0 / 0.12)",
      "nav-shadow": "oklch(0 0 0 / 0.5)",
      "background-70": "oklch(0.3 0 0)",
      "background-80": "oklch(0.3 0 0)",
      "foreground-15": "oklch(0.38 0 0)",
      "foreground-10": "oklch(0.35 0 0)",
      "foreground-35": "oklch(0.49 0 0)",
      "destructive-10": "oklch(0.35 0.01 2)",
      "accent-ink-40": "oklch(0.48 0.03 70)",
      "destructive-90": "oklch(0.77 0.09 18)",
      "foreground-25": "oklch(0.43 0 0)",
      "accent-ink-30": "oklch(0.437 0.024 52)",
      "warning-ink-35": "oklch(0.48 0.06 27)",
      "warning-ink-5": "oklch(0.33 0.01 4)",
      "destructive-35": "oklch(0.482 0.036 7)",
      "foreground-45": "oklch(0.54 0 0)",
      "accent-ink-60": "oklch(0.57 0.05 104)",
      "aurora-1-25": "oklch(0.4 0.025 43)",
      "aurora-2-25": "oklch(0.4 0.03 344)",
      "aurora-3-25": "oklch(0.4 0.03 359)",
      "aurora-4-25": "oklch(0.426 0.026 20)",
      "destructive-20": "oklch(0.4 0.02 4)",
      "warning-ink-10": "oklch(0.352 0.017 8)",
      "status-operational-25": "oklch(0.4 0.025 43)",
      "status-minor-25": "oklch(0.426 0.026 20)",
      "status-major-25": "oklch(0.4 0.03 359)",
      "status-down-20": "oklch(0.4 0.02 4)",
      "aurora-1-5": "oklch(0.321 0.005 9)",
      "foreground-75": "oklch(0.76 0 0)",
      "foreground-20": "oklch(0.41 0 0)",
      "current-30": "oklch(0.46 0 0)",
      "current-15": "oklch(0.38 0 0)",
      "aurora-1-35": "oklch(0.439 0.035 60)",
      "aurora-1-15": "oklch(0.36 0.015 26)",
      "aurora-2-35": "oklch(0.437 0.043 337)",
      "aurora-2-15": "oklch(0.36 0.02 350)",
      "aurora-3-35": "oklch(0.441 0.043 359)",
      "aurora-3-15": "oklch(0.36 0.02 360)",
      "aurora-4-35": "oklch(0.475 0.037 28)",
      "aurora-4-15": "oklch(0.376 0.016 12)",
      "status-operational-35": "oklch(0.439 0.035 60)",
      "status-operational-15": "oklch(0.36 0.015 26)",
      "status-minor-35": "oklch(0.475 0.037 28)",
      "status-minor-15": "oklch(0.376 0.016 12)",
      "status-major-35": "oklch(0.441 0.043 359)",
      "status-major-15": "oklch(0.36 0.02 360)",
      "status-down-35": "oklch(0.482 0.036 7)",
      "status-down-10": "oklch(0.35 0.01 2)",
      "foreground-12": "oklch(0.37 0 0)",
      "input-hover": "oklch(0.52 0 0)",
      "input-strong": "oklch(0.68 0 0)",
      "current-10": "oklch(0.35 0 0)",
      "warning-ink-90": "oklch(0.759 0.15192 78)",
      "warning-foreground": "oklch(0.3 0 0)"
    }
  },
  "type": "registry:theme"
}