@import "https://fonts.bunny.net/css?family=albert-sans:200,300i,500,500i,700,700i|cutive-mono:400|lora:500,500i,700,700i";

/* packages/ui/src/styles/reset.css */
@layer reset {
  *, *:before, *:after {
    box-sizing: border-box;
  }

  * {
    margin: 0;
    padding: 0;
  }

  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  body {
    line-height: var(--leading-normal);
    font-family: var(--font-body);
    color: var(--ink);
    background: var(--paper);
    min-block-size: 100vh;
  }

  img, picture, video, canvas, svg {
    display: block;
    max-inline-size: 100%;
  }

  input, button, textarea, select {
    font: inherit;
  }

  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
  }

  button {
    cursor: pointer;
    color: inherit;
    background: none;
    border: none;
  }

  ul[role="list"], ol[role="list"] {
    list-style: none;
  }

  :focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
}

/* packages/ui/src/styles/custom-media.css */
@custom-media --bp-sm (min-width: 40rem);

@custom-media --bp-md (min-width: 48rem);

@custom-media --bp-lg (min-width: 64rem);

@custom-media --bp-xl (min-width: 80rem);

/* packages/ui/src/styles/tokens.css */
@layer tokens {
  :root, [data-theme="light"], .light {
    --buncss-light: initial;
    --buncss-dark: ;
    color-scheme: light;
    --paper: oklch(.985 .004 250);
    --ink: oklch(.22 .03 250);
    --accent: oklch(.63 .19 255);
    --positive: oklch(.7 .16 145);
    --warning: oklch(.78 .15 85);
    --danger: oklch(.62 .2 25);
    --surface: color-mix(in oklch, var(--paper) 94%, var(--ink));
    --surface-alt: color-mix(in oklch, var(--paper) 88%, var(--ink));
    --line: color-mix(in oklch, var(--paper) 78%, var(--ink));
    --muted: color-mix(in oklch, var(--ink) 55%, var(--paper));
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;
    --font-body: "Albert Sans", sans-serif;
    --font-heading: "Lora", serif;
    --font-mono: "Cutive Mono", monospace;
    --text-xs: .6875rem;
    --text-sm: .75rem;
    --text-base: .875rem;
    --text-lg: 1rem;
    --text-xl: 1.125rem;
    --text-2xl: 1.375rem;
    --leading-snug: 1.25;
    --leading-normal: 1.5;
    --radius-sm: .25rem;
    --radius-md: .5rem;
    --radius-lg: 1rem;
    --radius-full: 9999px;
    --shadow-sm: 0 1px 2px oklch(0 0 0 / .05);
    --shadow-md: 0 4px 8px oklch(0 0 0 / .08);
    --shadow-lg: 0 12px 24px oklch(0 0 0 / .12);
    --shadow-inset: 0 24px 48px -32px #0f172a59, 0 12px 24px -20px #0f172a40;
    --z-raised: 10;
    --z-overlay: 100;
    --z-modal: 1000;
    --duration: .15s;
    --ease: cubic-bezier(.4, 0, .2, 1);
  }

  [data-theme="dark"], .dark {
    --buncss-light: ;
    --buncss-dark: initial;
    color-scheme: dark;
    --paper: oklch(.17 .02 250);
    --ink: oklch(.95 .01 250);
    --accent: oklch(.72 .13 255);
    --positive: oklch(.74 .14 145);
    --warning: oklch(.82 .14 85);
    --danger: oklch(.7 .18 25);
    --surface: color-mix(in oklch, var(--paper) 94%, var(--ink));
    --surface-alt: color-mix(in oklch, var(--paper) 88%, var(--ink));
    --line: color-mix(in oklch, var(--paper) 78%, var(--ink));
    --muted: color-mix(in oklch, var(--ink) 55%, var(--paper));
    --shadow-sm: 0 1px 2px oklch(0 0 0 / .2);
    --shadow-md: 0 4px 8px oklch(0 0 0 / .25);
    --shadow-lg: 0 12px 24px oklch(0 0 0 / .3);
  }

  @media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
      --buncss-light: ;
      --buncss-dark: initial;
      color-scheme: dark;
      --paper: oklch(.17 .02 250);
      --ink: oklch(.95 .01 250);
      --accent: oklch(.72 .13 255);
      --positive: oklch(.74 .14 145);
      --warning: oklch(.82 .14 85);
      --danger: oklch(.7 .18 25);
      --surface: color-mix(in oklch, var(--paper) 94%, var(--ink));
      --surface-alt: color-mix(in oklch, var(--paper) 88%, var(--ink));
      --line: color-mix(in oklch, var(--paper) 78%, var(--ink));
      --muted: color-mix(in oklch, var(--ink) 55%, var(--paper));
      --shadow-sm: 0 1px 2px oklch(0 0 0 / .2);
      --shadow-md: 0 4px 8px oklch(0 0 0 / .25);
      --shadow-lg: 0 12px 24px oklch(0 0 0 / .3);
    }
  }
}

/* packages/ui/src/styles/utility.css */
@layer utilities {
  .flow > * + * {
    margin-block-start: var(--flow-space, 1em);
  }

  .flow-sm {
    --flow-space: var(--space-sm);
  }

  .flow-md {
    --flow-space: var(--space-md);
  }

  .flow-lg {
    --flow-space: var(--space-lg);
  }

  .stack {
    display: flex;
    gap: var(--stack-gap, var(--space-md));
    flex-direction: column;
  }

  .stack-sm {
    --stack-gap: var(--space-sm);
  }

  .stack-md {
    --stack-gap: var(--space-md);
  }

  .stack-lg {
    --stack-gap: var(--space-lg);
  }

  .cluster {
    display: flex;
    gap: var(--cluster-gap, var(--space-md));
    align-items: var(--cluster-align, center);
    flex-wrap: wrap;
  }

  .cluster-sm {
    --cluster-gap: var(--space-sm);
  }

  .cluster-md {
    --cluster-gap: var(--space-md);
  }

  .cluster-lg {
    --cluster-gap: var(--space-lg);
  }

  .grid {
    display: grid;
    gap: var(--grid-gap, var(--space-md));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-min, 15rem), 100%), 1fr));
  }

  .center {
    box-sizing: content-box;
    max-inline-size: var(--center-max, 80ch);
    padding-inline: var(--center-padding, var(--space-md));
    margin-inline-start: auto;
    margin-inline-end: auto;
  }

  .box {
    padding: var(--box-padding, var(--space-md));
  }

  .box-sm {
    --box-padding: var(--space-sm);
  }

  .box-lg {
    --box-padding: var(--space-lg);
  }

  :where(.text-sm) {
    font-size: var(--text-sm);
  }

  :where(.text-base) {
    font-size: var(--text-base);
  }

  :where(.text-lg) {
    font-size: var(--text-lg);
  }

  :where(.text-xl) {
    font-size: var(--text-xl);
  }

  :where(.text-2xl) {
    font-size: var(--text-2xl);
  }

  :where(.font-normal) {
    font-weight: 400;
  }

  :where(.font-medium) {
    font-weight: 500;
  }

  :where(.font-semibold) {
    font-weight: 600;
  }

  :where(.font-bold) {
    font-weight: 700;
  }

  :where(.text-center) {
    text-align: center;
  }

  :where(.text-left) {
    text-align: start;
  }

  :where(.text-right) {
    text-align: end;
  }

  :where(.leading-snug) {
    line-height: var(--leading-snug);
  }

  :where(.leading-normal) {
    line-height: var(--leading-normal);
  }

  :where(.truncate) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  :where(.text-muted) {
    color: var(--muted);
  }

  :where(.text-accent) {
    color: var(--accent);
  }

  :where(.text-positive) {
    color: var(--positive);
  }

  :where(.text-warning) {
    color: var(--warning);
  }

  :where(.text-danger) {
    color: var(--danger);
  }

  :where(.bg-surface) {
    background: var(--surface);
  }

  :where(.bg-surface-alt) {
    background: var(--surface-alt);
  }

  :where(.bg-accent) {
    background: var(--accent);
    color: var(--paper);
  }

  :where(.bg-positive) {
    background: var(--positive);
    color: var(--paper);
  }

  :where(.bg-warning) {
    background: var(--warning);
    color: var(--ink);
  }

  :where(.bg-danger) {
    background: var(--danger);
    color: var(--paper);
  }

  :where(.bg-accent-soft) {
    background: color-mix(in oklch, var(--accent) 12%, var(--paper));
  }

  :where(.bg-positive-soft) {
    background: color-mix(in oklch, var(--positive) 12%, var(--paper));
  }

  :where(.bg-warning-soft) {
    background: color-mix(in oklch, var(--warning) 12%, var(--paper));
  }

  :where(.bg-danger-soft) {
    background: color-mix(in oklch, var(--danger) 12%, var(--paper));
  }

  :where(.rounded-sm) {
    border-radius: var(--radius-sm);
  }

  :where(.rounded-md) {
    border-radius: var(--radius-md);
  }

  :where(.rounded-lg) {
    border-radius: var(--radius-lg);
  }

  :where(.rounded-full) {
    border-radius: var(--radius-full);
  }

  :where(.border) {
    border: 1px solid var(--line);
  }

  :where(.shadow-sm) {
    box-shadow: var(--shadow-sm);
  }

  :where(.shadow-md) {
    box-shadow: var(--shadow-md);
  }

  :where(.shadow-lg) {
    box-shadow: var(--shadow-lg);
  }

  :where(.p-xs) {
    padding: var(--space-xs);
  }

  :where(.p-sm) {
    padding: var(--space-sm);
  }

  :where(.p-md) {
    padding: var(--space-md);
  }

  :where(.p-lg) {
    padding: var(--space-lg);
  }

  :where(.px-xs) {
    padding-inline: var(--space-xs);
  }

  :where(.px-sm) {
    padding-inline: var(--space-sm);
  }

  :where(.px-md) {
    padding-inline: var(--space-md);
  }

  :where(.px-lg) {
    padding-inline: var(--space-lg);
  }

  :where(.py-xs) {
    padding-block: var(--space-xs);
  }

  :where(.py-sm) {
    padding-block: var(--space-sm);
  }

  :where(.py-md) {
    padding-block: var(--space-md);
  }

  :where(.py-lg) {
    padding-block: var(--space-lg);
  }

  :where(.gap-xs) {
    gap: var(--space-xs);
  }

  :where(.gap-sm) {
    gap: var(--space-sm);
  }

  :where(.gap-md) {
    gap: var(--space-md);
  }

  :where(.gap-lg) {
    gap: var(--space-lg);
  }

  :where(.flex) {
    display: flex;
  }

  :where(.inline-flex) {
    display: inline-flex;
  }

  :where(.flex-col) {
    flex-direction: column;
  }

  :where(.items-start) {
    align-items:  flex-start;
  }

  :where(.items-center) {
    align-items:  center;
  }

  :where(.items-end) {
    align-items:  flex-end;
  }

  :where(.justify-start) {
    justify-content: flex-start;
  }

  :where(.justify-center) {
    justify-content: center;
  }

  :where(.justify-end) {
    justify-content: flex-end;
  }

  :where(.justify-between) {
    justify-content: space-between;
  }

  :where(.w-full) {
    inline-size: 100%;
  }

  :where(.h-full) {
    block-size: 100%;
  }

  :where(.sr-only) {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
    block-size: 1px;
    inline-size: 1px;
    margin: -1px;
    padding: 0;
  }

  :where(.hidden) {
    display: none;
  }
}

/* packages/ui/src/styles/blocks/button.css */
@layer components {
  .button {
    display: inline-flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    box-sizing: border-box;
    block-size: var(--button-size, 2.5rem);
    padding-inline: var(--button-px, var(--space-md));
    padding-block: var(--button-py, var(--space-sm));
    background: var(--button-bg, var(--accent));
    color: var(--button-fg, var(--paper));
    border: 1px solid var(--button-border, transparent);
    border-radius: var(--button-radius, var(--radius-md));
    font-size: var(--button-font-size, var(--text-sm));
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: all var(--duration) var(--ease);
    font-weight: 500;
    line-height: 1;
  }

  .button:hover:not(:disabled) {
    background: var(--button-bg-hover, color-mix(in oklch, var(--accent) 85%, var(--ink)));
    box-shadow: var(--shadow-sm);
  }

  .button:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  .button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .button[data-variant="outline"] {
    --button-bg: transparent;
    --button-fg: var(--accent);
    --button-border: var(--accent);
    --button-bg-hover: var(--accent);
    color: var(--accent);
  }

  .button[data-variant="outline"]:hover:not(:disabled) {
    --button-fg: var(--paper);
  }

  .button[data-variant="ghost"] {
    --button-bg: transparent;
    --button-fg: var(--ink);
    --button-border: transparent;
    --button-bg-hover: var(--surface-alt);
  }

  .button[data-size="sm"] {
    --button-size: 2rem;
    --button-px: var(--space-sm);
    --button-font-size: var(--text-sm);
  }

  .button[data-size="icon"] {
    --button-px: 0;
    inline-size: var(--button-size, 2.5rem);
    aspect-ratio: 1;
  }

  .button[data-loading] {
    position: relative;
    color: #0000;
    pointer-events: none;
  }

  .button[data-loading]:after {
    content: "";
    color: var(--button-fg, var(--paper));
    position: absolute;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    animation: button-spin .6s linear infinite;
    border: 2px solid;
    border-right-color: #0000;
    border-radius: 50%;
    margin: auto;
    inset: 0;
  }
}

@keyframes button-spin {
  to {
    transform: rotate(360deg);
  }
}

/* packages/ui/src/styles/blocks/card.css */
@layer components {
  .card {
    position: relative;
    background: var(--card-bg, var(--surface));
    border-radius: var(--card-radius, var(--radius-lg));
    box-shadow: var(--card-shadow, var(--shadow-sm));
    padding: var(--card-padding, var(--space-lg));
    transition: box-shadow var(--duration) var(--ease);
  }

  .card > .flow {
    --flow-space: var(--space-md);
  }

  .card[data-variant="elevated"] {
    --card-shadow: var(--shadow-lg);
  }

  .card[data-variant="outline"] {
    --card-shadow: 0 0 0 1px var(--line);
  }

  .card[data-variant="ghost"] {
    --card-bg: transparent;
    --card-shadow: none;
  }

  .card[data-interactive] {
    cursor: pointer;
  }

  .card[data-interactive]:hover {
    --card-shadow: var(--shadow-lg);
  }

  .card[data-interactive]:active {
    transform: scale(.98);
  }

  .card-header {
    padding-block-end: var(--space-md);
  }

  .card-footer {
    padding-block-start: var(--space-md);
  }
}

/* packages/ui/src/styles/blocks/input.css */
@layer components {
  .input {
    display: block;
    min-block-size: var(--input-size, 2.5rem);
    padding-inline: var(--input-px, var(--space-sm));
    padding-block: var(--input-py, var(--space-xs));
    background: var(--input-bg, var(--paper));
    color: var(--input-fg, var(--ink));
    border: 1px solid var(--input-border, var(--line));
    border-radius: var(--input-radius, var(--radius-md));
    font-size: var(--input-font-size, var(--text-sm));
    line-height: var(--leading-normal);
    transition: border-color var(--duration) var(--ease);
    inline-size: 100%;
  }

  .input::placeholder {
    color: var(--muted);
  }

  .input:hover:not(:disabled) {
    border-color: var(--input-border-hover, var(--accent));
  }

  .input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 15%, transparent);
  }

  .input:disabled {
    opacity: .5;
    cursor: not-allowed;
    background: var(--surface);
  }

  .input[aria-invalid="true"] {
    border-color: var(--danger);
  }

  .input[aria-invalid="true"]:focus {
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--danger) 15%, transparent);
  }

  textarea.input {
    resize: vertical;
    padding-block: var(--space-sm);
    min-block-size: 8rem;
  }
}

/* packages/ui/src/styles/blocks/badge.css */
@layer components {
  .badge {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    background: var(--badge-bg, var(--surface));
    color: var(--badge-fg, var(--ink));
    border: 1px solid var(--badge-border, var(--line));
    border-radius: var(--badge-radius, var(--radius-full));
    font-size: var(--text-sm);
    white-space: nowrap;
    justify-self: flex-start;
    font-weight: 500;
    line-height: 1;
  }

  .badge[data-variant="success"] {
    --badge-bg: var(--positive);
    --badge-fg: var(--paper);
    --badge-border: var(--positive);
  }

  .badge[data-variant="error"] {
    --badge-bg: var(--danger);
    --badge-fg: var(--paper);
    --badge-border: var(--danger);
  }

  .badge[data-variant="warning"] {
    --badge-bg: var(--warning);
    --badge-fg: var(--ink);
    --badge-border: var(--warning);
  }
}

/* packages/ui/src/styles/blocks/form.css */
@layer components {
  .form {
    display: flex;
    gap: var(--form-gap, var(--space-sm));
    max-inline-size: var(--form-max-inline-size, none);
    flex-direction: column;
  }
}

/* packages/ui/src/styles/blocks/field.css */
@layer components {
  .field {
    --field-label-color: var(--ink);
    --field-description-color: var(--muted);
    display: flex;
    gap: var(--field-gap, var(--space-sm));
    flex-direction: column;
  }

  .field-label {
    display: inline-flex;
    align-items:  center;
    gap: var(--field-label-gap, var(--space-sm));
    font-size: var(--field-label-size, var(--text-sm));
    font-weight: var(--field-label-weight, 500);
    line-height: var(--leading-normal);
    color: var(--field-label-color);
    cursor: pointer;
  }

  .field-label[data-disabled] {
    cursor: not-allowed;
    opacity: .6;
  }

  .field-control {
    display: contents;
  }

  .field-description {
    font-size: var(--field-description-size, var(--text-sm));
    color: var(--field-description-color);
  }

  .field:focus-within {
    --field-label-color: var(--field-focused-label-color, var(--accent));
  }

  .field:has(:-webkit-any(input, textarea, select)[aria-invalid="true"], :-webkit-any(input, textarea, select):invalid) {
    --field-label-color: var(--field-invalid-label-color, var(--danger));
    --input-border: var(--input-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklch, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
  }

  .field:has(:-moz-any(input, textarea, select)[aria-invalid="true"], :-moz-any(input, textarea, select):invalid) {
    --field-label-color: var(--field-invalid-label-color, var(--danger));
    --input-border: var(--input-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklch, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
  }

  .field:has(:is(input, textarea, select)[aria-invalid="true"], :is(input, textarea, select):invalid) {
    --field-label-color: var(--field-invalid-label-color, var(--danger));
    --input-border: var(--input-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklch, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklch, var(--danger) 65%, transparent));
  }
}

/* packages/ui/src/styles/blocks/fieldset.css */
@layer components {
  .fieldset {
    display: flex;
    gap: var(--fieldset-gap, var(--space-md));
    padding: var(--fieldset-padding, 0);
    border: none;
    flex-direction: column;
    min-inline-size: 0;
    margin: 0;
  }

  .fieldset[data-disabled] {
    opacity: .6;
    cursor: not-allowed;
  }

  .fieldset-legend {
    display: flex;
    align-items:  center;
    gap: var(--fieldset-legend-gap, var(--space-sm));
    font-size: var(--fieldset-legend-size, var(--text-sm));
    font-weight: var(--fieldset-legend-weight, 600);
    color: var(--fieldset-legend-color, var(--muted));
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0;
  }
}

/* packages/ui/src/styles/blocks/label.css */
@layer components {
  .label {
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: var(--leading-normal);
    color: var(--ink);
    cursor: pointer;
  }

  .label[data-disabled] {
    opacity: .5;
    cursor: not-allowed;
  }
}

/* packages/ui/src/styles/blocks/separator.css */
@layer components {
  .separator {
    background: var(--line);
    border: 0;
  }

  .separator[data-orientation="horizontal"] {
    block-size: 1px;
    inline-size: 100%;
  }

  .separator[data-orientation="vertical"] {
    block-size: 100%;
    inline-size: 1px;
  }
}

/* packages/ui/src/styles/blocks/skeleton.css */
@keyframes skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .5;
  }
}

@layer components {
  .skeleton {
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    animation: skeleton-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
  }
}

/* packages/ui/src/styles/blocks/spinner.css */
@keyframes spinner-spin {
  to {
    transform: rotate(360deg);
  }
}

@layer components {
  .spinner {
    display: inline-block;
    inline-size: var(--spinner-size, var(--space-md));
    block-size: var(--spinner-size, var(--space-md));
    border: 2px solid var(--spinner-color, var(--line));
    animation: spinner-spin .6s linear infinite;
    border-right-color: #0000;
    border-radius: 50%;
  }

  .spinner[data-size="sm"] {
    --spinner-size: var(--space-sm);
  }

  .spinner[data-size="lg"] {
    --spinner-size: 1.5rem;
  }
}

/* packages/ui/src/styles/blocks/scroll-area.css */
@layer components {
  .scroll-area {
    position: relative;
    overflow: auto;
  }

  .scroll-area[data-hide-scrollbar] {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .scroll-area[data-hide-scrollbar]::-webkit-scrollbar {
    display: none;
  }

  .scroll-area-viewport {
    border-radius: inherit;
    overflow: auto;
    block-size: 100%;
    inline-size: 100%;
  }

  .scroll-area-content {
    min-inline-size: 100%;
  }

  .scroll-area-scrollbar {
    display: flex;
    user-select: none;
    touch-action: none;
    padding: var(--space-xs);
    transition: background var(--duration) var(--ease);
    background: none;
  }

  .scroll-area-scrollbar[data-state="hidden"] {
    display: none;
  }

  .scroll-area-scrollbar[data-orientation="vertical"] {
    inline-size: var(--space-sm);
  }

  .scroll-area-scrollbar[data-orientation="horizontal"] {
    block-size: var(--space-sm);
    flex-direction: column;
  }

  .scroll-area-scrollbar:hover {
    background: color-mix(in oklch, var(--line) 55%, transparent);
  }

  .scroll-area-thumb {
    border-radius: var(--radius-full);
    background: color-mix(in oklch, var(--line) 70%, var(--paper) 30%);
    flex: 1;
  }

  .scroll-area-corner {
    background: color-mix(in oklch, var(--line) 60%, transparent);
  }
}

/* packages/ui/src/styles/blocks/checkbox.css */
@layer components {
  .checkbox {
    appearance: none;
    display: inline-flex;
    border: 1px solid var(--checkbox-border, var(--line));
    border-radius: var(--radius-sm);
    background: var(--paper);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  .checkbox:hover {
    border-color: var(--checkbox-border-hover, var(--accent));
  }

  .checkbox[data-state="checked"] {
    background: var(--checkbox-bg-checked, var(--accent));
    border-color: var(--checkbox-border-checked, var(--accent));
    color: var(--paper);
  }

  .checkbox:focus-visible {
    outline: 2px solid var(--checkbox-outline, var(--accent));
    outline-offset: 2px;
  }

  .checkbox[data-disabled] {
    opacity: .5;
    cursor: not-allowed;
  }

  .checkbox:after {
    content: "";
    opacity: 0;
    border-top: 0;
    border-bottom: 2px solid;
    border-left: 2px solid;
    border-right: 0;
    block-size: .25rem;
    inline-size: .5rem;
    transform: rotate(-45deg);
  }

  .checkbox[data-state="checked"]:after {
    opacity: 1;
  }
}

/* packages/ui/src/styles/blocks/avatar.css */
@layer components {
  .avatar {
    display: inline-flex;
    overflow: hidden;
    border-radius: var(--radius-full);
    inline-size: var(--avatar-size, 2.5rem);
    block-size: var(--avatar-size, 2.5rem);
    background: var(--surface-alt);
    color: var(--ink);
    justify-content: center;
    align-items:  center;
  }

  .avatar img {
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }

  .avatar[data-size="sm"] {
    --avatar-size: 2rem;
  }

  .avatar[data-size="lg"] {
    --avatar-size: 3rem;
  }

  .avatar[data-size="xl"] {
    --avatar-size: 4rem;
  }

  .avatar-fallback {
    display: flex;
    font-size: var(--text-sm);
    justify-content: center;
    align-items:  center;
    block-size: 100%;
    inline-size: 100%;
    font-weight: 500;
  }
}

/* packages/ui/src/styles/blocks/alert.css */
@layer components {
  .alert {
    position: relative;
    cursor: default;
    display: grid;
    grid-template-columns: 0 1fr;
    gap: var(--space-xs) 0;
    background: var(--alert-bg, var(--surface-alt));
    color: var(--alert-fg, var(--ink));
    border: 1px solid var(--alert-border, var(--line));
    border-radius: var(--radius-lg);
    padding-inline: var(--space-md);
    padding-block: var(--space-sm);
    font-size: var(--text-sm);
    align-items:  start;
    inline-size: 100%;
    font-weight: 400;
  }

  .alert:has( > svg) {
    grid-template-columns: 2rem 1fr;
    column-gap: var(--space-sm);
  }

  .alert > svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    color: currentColor;
    transform: translateY(2px);
  }

  .alert[data-variant="destructive"] {
    --alert-bg: color-mix(in oklch, var(--danger) 10%, var(--paper));
    --alert-fg: var(--danger);
    --alert-border: var(--danger);
  }

  .alert[data-variant="destructive"] [data-slot="alert-description"] {
    opacity: .9;
  }

  .alert-title {
    grid-column-start: 2;
    min-block-size: var(--space-md);
    letter-spacing: -.01em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    font-weight: 500;
  }

  .alert-description {
    grid-column-start: 2;
    color: var(--muted);
    display: grid;
    justify-items: start;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }
}

/* packages/ui/src/styles/blocks/empty.css */
@layer components {
  .empty {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px dashed var(--line);
    padding: var(--space-lg);
    text-align: center;
    text-wrap: balance;
    container-type: inline-size;
    container-name: empty;
    flex-direction: column;
    flex: 1;
    min-inline-size: 0;
  }

  @container empty (width >= 48rem) {
    .empty {
      padding: var(--space-xl);
    }
  }

  .empty-header {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    text-align: center;
    flex-direction: column;
    max-inline-size: 32rem;
  }

  .empty-media {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
    margin-block-end: var(--space-sm);
  }

  .empty-media svg {
    pointer-events: none;
    flex-shrink: 0;
  }

  .empty-media[data-variant="icon"] {
    background: var(--surface-alt);
    color: var(--ink);
    display: flex;
    border-radius: var(--radius-lg);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
    block-size: 2.5rem;
    inline-size: 2.5rem;
  }

  .empty-media[data-variant="icon"] svg:not([class*="size-"]) {
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  .empty-title {
    font-size: var(--text-lg);
    letter-spacing: -.01em;
    font-weight: 500;
    line-height: 1.75;
  }

  .empty-description {
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: 1.75;
  }

  .empty-description > a {
    text-decoration: underline;
    text-underline-offset: var(--space-xs);
  }

  .empty-description > a:hover {
    color: var(--accent);
  }

  .empty-content {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    text-wrap: balance;
    flex-direction: column;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 32rem;
  }
}

/* packages/ui/src/styles/blocks/breadcrumb.css */
@layer components {
  .breadcrumb-list {
    color: var(--muted);
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    word-break: break-word;
    container-type: inline-size;
    container-name: breadcrumb;
    flex-wrap: wrap;
  }

  @container breadcrumb (width >= 40rem) {
    .breadcrumb-list {
      gap: var(--space-sm);
    }
  }

  .breadcrumb-item {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  .breadcrumb-link {
    transition: color var(--duration);
  }

  .breadcrumb-link:hover {
    color: var(--ink);
  }

  .breadcrumb-page {
    color: var(--ink);
    font-weight: 400;
  }

  .breadcrumb-separator svg {
    block-size: .875rem;
    inline-size: .875rem;
  }

  .breadcrumb-ellipsis {
    display: flex;
    justify-content: center;
    align-items:  center;
    block-size: 2.25rem;
    inline-size: 2.25rem;
  }

  .breadcrumb-ellipsis svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }
}

/* packages/ui/src/styles/blocks/tooltip.css */
@keyframes tooltip-fade-in {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes tooltip-fade-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(.95);
  }
}

@keyframes tooltip-slide-top {
  from {
    opacity: 0;
    transform: scale(.95)translateY(.5rem);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

@keyframes tooltip-slide-top-out {
  from {
    opacity: 1;
    transform: scale(1)translateY(0);
  }

  to {
    opacity: 0;
    transform: scale(.95)translateY(.5rem);
  }
}

@keyframes tooltip-slide-bottom {
  from {
    opacity: 0;
    transform: scale(.95)translateY(-.5rem);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

@keyframes tooltip-slide-bottom-out {
  from {
    opacity: 1;
    transform: scale(1)translateY(0);
  }

  to {
    opacity: 0;
    transform: scale(.95)translateY(-.5rem);
  }
}

@keyframes tooltip-slide-left {
  from {
    opacity: 0;
    transform: scale(.95)translateX(.5rem);
  }

  to {
    opacity: 1;
    transform: scale(1)translateX(0);
  }
}

@keyframes tooltip-slide-left-out {
  from {
    opacity: 1;
    transform: scale(1)translateX(0);
  }

  to {
    opacity: 0;
    transform: scale(.95)translateX(.5rem);
  }
}

@keyframes tooltip-slide-right {
  from {
    opacity: 0;
    transform: scale(.95)translateX(-.5rem);
  }

  to {
    opacity: 1;
    transform: scale(1)translateX(0);
  }
}

@keyframes tooltip-slide-right-out {
  from {
    opacity: 1;
    transform: scale(1)translateX(0);
  }

  to {
    opacity: 0;
    transform: scale(.95)translateX(-.5rem);
  }
}

@layer components {
  .tooltip {
    z-index: var(--z-modal);
    border-radius: var(--radius-md);
    background: var(--ink);
    color: var(--paper);
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
    text-wrap: balance;
    animation: tooltip-fade-in var(--duration);
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }

  .tooltip[data-ending-style] {
    animation: tooltip-fade-out var(--duration);
  }

  .tooltip[data-side="top"] {
    animation-name: tooltip-slide-top;
  }

  .tooltip[data-side="bottom"] {
    animation-name: tooltip-slide-bottom;
  }

  .tooltip[data-side="left"] {
    animation-name: tooltip-slide-left;
  }

  .tooltip[data-side="right"] {
    animation-name: tooltip-slide-right;
  }

  .tooltip[data-ending-style][data-side="top"] {
    animation-name: tooltip-slide-top-out;
  }

  .tooltip[data-ending-style][data-side="bottom"] {
    animation-name: tooltip-slide-bottom-out;
  }

  .tooltip[data-ending-style][data-side="left"] {
    animation-name: tooltip-slide-left-out;
  }

  .tooltip[data-ending-style][data-side="right"] {
    animation-name: tooltip-slide-right-out;
  }

  .tooltip-arrow {
    background: var(--ink);
    z-index: var(--z-modal);
    border-radius: 2px;
    block-size: .625rem;
    inline-size: .625rem;
    transform: translateY(calc(-50% - 2px))rotate(45deg);
  }
}

/* packages/ui/src/styles/blocks/collapsible.css */
@keyframes collapsible-slide-down {
  from {
    block-size: 0;
    opacity: 0;
  }

  to {
    block-size: var(--collapsible-panel-height);
    opacity: 1;
  }
}

@keyframes collapsible-slide-up {
  from {
    block-size: var(--collapsible-panel-height);
    opacity: 1;
  }

  to {
    block-size: 0;
    opacity: 0;
  }
}

@layer components {
  .collapsible-trigger {
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: inherit;
    display: inline-flex;
    background: none;
    border: none;
    align-items:  center;
    padding: 0;
  }

  .collapsible-trigger[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  .collapsible-content {
    overflow: hidden;
    animation: collapsible-slide-down .2s ease-out;
  }

  .collapsible-content[data-state="closed"] {
    animation: collapsible-slide-up .2s ease-out;
  }

  .collapsible-content[data-ending-style] {
    overflow: hidden;
  }
}

/* packages/ui/src/styles/blocks/item.css */
@layer components {
  .item-group {
    display: flex;
    flex-direction: column;
  }

  .item-separator {
    margin-block-start: 0;
    margin-block-end: 0;
  }

  .item {
    display: flex;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    border-radius: var(--radius-md);
    transition: colors var(--duration);
    outline: none;
    border: 1px solid #0000;
    flex-wrap: wrap;
    align-items:  center;
  }

  .item:focus-visible {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 50%, transparent);
  }

  .item a:hover {
    background: color-mix(in oklch, var(--accent) 50%, transparent);
    transition: colors var(--duration);
  }

  .item[data-variant="outline"] {
    border-color: var(--line);
  }

  .item[data-variant="muted"] {
    background: color-mix(in oklch, var(--surface-alt) 50%, transparent);
  }

  .item[data-size="sm"] {
    padding-block: var(--space-sm);
    padding-inline: var(--space-md);
    gap: var(--space-sm);
  }

  .item[data-size="default"], .item:not([data-size]) {
    padding: var(--space-md);
    gap: var(--space-md);
  }

  .item-media {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    flex-shrink: 0;
  }

  .item-media svg {
    pointer-events: none;
  }

  .item:has([data-slot="item-description"]) .item-media {
    align-self:  start;
    transform: translateY(2px);
  }

  .item-media[data-variant="icon"] {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    block-size: 2rem;
    inline-size: 2rem;
  }

  .item-media[data-variant="icon"] svg:not([class*="size-"]) {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }

  .item-media[data-variant="image"] {
    border-radius: var(--radius-sm);
    overflow: hidden;
    block-size: 2.5rem;
    inline-size: 2.5rem;
  }

  .item-media[data-variant="image"] img {
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }

  .item-content {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    flex: 1;
  }

  .item-content + .item-content {
    flex: none;
  }

  .item-title {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    font-weight: 500;
  }

  .item-description {
    color: var(--muted);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    text-wrap: balance;
    -webkit-box-orient: vertical;
    font-weight: 400;
  }

  .item-description > a {
    text-decoration: underline;
    text-underline-offset: var(--space-xs);
  }

  .item-description > a:hover {
    color: var(--accent);
  }

  .item-actions {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  .item-header, .item-footer {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-sm);
    flex-basis: 100%;
  }
}

/* packages/ui/src/styles/blocks/error-boundary.css */
@layer components {
  .error-boundary-container {
    display: flex;
    background: linear-gradient(to bottom right, var(--paper), oklch(.67 .18 290 / .2), var(--paper));
    padding: var(--space-lg);
    justify-content: center;
    align-items:  center;
    min-block-size: 100vh;
  }

  .error-boundary-card {
    border-color: color-mix(in oklch, var(--danger) 20%, transparent);
    background: linear-gradient(to bottom right, oklch(.1 0 0 / .9), oklch(.3 .1 280 / .3));
    backdrop-filter: blur(var(--space-xs));
    inline-size: 100%;
    max-inline-size: 42rem;
  }

  .error-boundary-header {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  .error-boundary-icon-wrapper {
    border-radius: var(--radius-full);
    background: color-mix(in oklch, var(--danger) 10%, transparent);
    padding: var(--space-sm);
  }

  .error-boundary-icon {
    color: oklch(from var(--danger) calc(l * 1.2) c h);
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  .error-boundary-title-wrapper {
    display: flex;
    flex-direction: column;
  }

  .error-boundary-title {
    color: oklch(from var(--danger) .95 .05 25);
  }

  .error-boundary-description {
    color: oklch(from var(--danger) .8 .1 25);
  }

  .error-boundary-content {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  .error-boundary-details {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  .error-boundary-detail-section {
    display: flex;
    flex-direction: column;
  }

  .error-boundary-detail-title {
    font-size: var(--text-sm);
    color: oklch(from var(--danger) .9 .08 25);
    margin-block-end: var(--space-sm);
    font-weight: 600;
  }

  .error-boundary-code-block {
    border-radius: var(--radius-md);
    background: oklch(.15 .05 25 / .5);
    padding: var(--space-sm);
  }

  .error-boundary-code {
    font-size: var(--text-sm);
    color: oklch(from var(--danger) .8 .1 25);
  }

  .error-boundary-stack-trace {
    overflow: auto;
    border-radius: var(--radius-md);
    background: oklch(.15 .05 25 / .5);
    padding: var(--space-sm);
    max-block-size: 16rem;
  }

  .error-boundary-pre {
    font-size: var(--text-sm);
    color: oklch(from var(--danger) .8 .1 25 / .8);
  }

  .error-boundary-button-group {
    display: flex;
    gap: var(--space-sm);
    padding-block-start: var(--space-md);
  }

  .error-boundary-try-again-button {
    background: linear-gradient(to right, oklch(.67 .18 290), var(--accent));
    flex: 1;
  }

  .error-boundary-try-again-button:hover {
    background: linear-gradient(to right, color-mix(in oklch, oklch(.67 .18 290) 80%, black 20%), color-mix(in oklch, var(--accent) 85%, var(--ink)));
  }

  .error-boundary-home-button {
    flex: 1;
  }

  .error-boundary-button-icon {
    block-size: var(--space-md);
    inline-size: var(--space-md);
    margin-inline-end: var(--space-sm);
  }

  .error-boundary-footer {
    text-align: center;
    font-size: var(--text-sm);
    color: oklch(from var(--danger) .7 .1 25 / .6);
  }
}

/* packages/ui/src/styles/blocks/tabs.css */
@layer components {
  .tabs {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  .tabs-list {
    display: inline-flex;
    border-radius: var(--radius-md);
    background: var(--surface-alt);
    color: var(--muted);
    justify-content: center;
    align-items:  center;
    block-size: 2.25rem;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding: .125rem;
  }

  .tabs-trigger {
    display: inline-flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-xs);
    border-radius: calc(var(--radius-md) * .75);
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    color: inherit;
    background: none;
    border: none;
    flex: 1;
    block-size: calc(100% - 1px);
    font-weight: 500;
  }

  .tabs-trigger[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  .tabs-trigger[data-selected="true"] {
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow-sm);
  }

  .tabs-trigger svg {
    pointer-events: none;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }

  .tabs-content {
    outline: none;
    flex: 1;
  }
}

/* packages/ui/src/styles/blocks/toast.css */
@keyframes toast-view-in {
  from {
    opacity: 0;
    transform: translateY(var(--space-sm));
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes toast-view-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(calc(var(--space-sm) * -1));
  }
}

@layer components {
  ::view-transition-old(.toast) {
    animation: toast-view-out var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.toast) {
    animation: toast-view-in var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  .toast-region {
    position: fixed;
    z-index: var(--z-modal);
    bottom: var(--space-md);
    right: var(--space-md);
    container-type: inline-size;
    container-name: toast;
    width: 15rem;
    margin: 0 auto;
    top: auto;
    left: auto;
  }

  @container toast (width >= 31.25rem) {
    .toast-region {
      bottom: var(--space-lg);
      right: var(--space-lg);
      width: 20rem;
    }
  }

  .toast {
    --gap: var(--space-sm);
    --peek: var(--space-sm);
    --scale: calc(max(0, 1 - (var(--toast-index) * .1)));
    --shrink: calc(1 - var(--scale));
    --height: var(--toast-frontmost-height, var(--toast-height));
    --offset-y: calc(var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1)  + var(--toast-swipe-movement-y));
    position: absolute;
    box-sizing: border-box;
    padding: var(--space-md);
    transform-origin: bottom center;
    user-select: none;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .35s, height var(--duration);
    cursor: default;
    z-index: calc(1000 - var(--toast-index));
    height: var(--height);
    transform: translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y)  - (var(--toast-index) * var(--peek))  - (var(--shrink) * var(--height)))) scale(var(--scale));
    pointer-events: auto;
    display: flex;
    align-items:  flex-start;
    gap: var(--space-sm);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    color: var(--ink);
    width: 100%;
    margin: 0 0 0 auto;
    bottom: 0;
    left: auto;
    right: 0;
  }

  .toast[data-expanded] {
    transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y));
    height: var(--toast-height);
  }

  .toast[data-starting-style] {
    transform: translateY(150%);
  }

  .toast[data-ending-style] {
    transform: translateY(150%);
  }

  .toast[data-limited] {
    opacity: 0;
  }

  .toast[data-ending-style] {
    opacity: 0;
  }

  .toast[data-ending-style][data-swipe-direction="up"] {
    transform: translateY(calc(var(--toast-swipe-movement-y)  - 150%));
  }

  .toast[data-ending-style][data-swipe-direction="left"] {
    transform: translateX(calc(var(--toast-swipe-movement-x)  - 150%)) translateY(var(--offset-y));
  }

  .toast[data-ending-style][data-swipe-direction="right"] {
    transform: translateX(calc(var(--toast-swipe-movement-x)  + 150%)) translateY(var(--offset-y));
  }

  .toast[data-ending-style][data-swipe-direction="down"] {
    transform: translateY(calc(var(--toast-swipe-movement-y)  + 150%));
  }

  .toast:after {
    content: "";
    position: absolute;
    height: calc(var(--gap)  + 1px);
    width: 100%;
    top: 100%;
    left: 0;
  }

  .toast-content {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    flex: 1;
  }

  .toast-title {
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: var(--leading-normal);
  }

  .toast-description {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    opacity: .9;
  }

  .toast-close {
    display: flex;
    border-radius: var(--radius-sm);
    padding: var(--space-xs);
    color: var(--ink);
    opacity: .6;
    cursor: pointer;
    transition: opacity var(--duration);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
  }

  .toast-close:hover {
    opacity: 1;
  }

  .toast-close:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .toast[data-variant="success"] .toast-title {
    color: var(--positive);
  }

  .toast[data-variant="error"] .toast-title {
    color: var(--danger);
  }

  .toast[data-variant="warning"] .toast-title {
    color: var(--warning);
  }
}

/* packages/ui/src/styles/blocks/alert-dialog.css */
@keyframes alert-dialog-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes alert-dialog-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes alert-dialog-zoom-in {
  from {
    opacity: 0;
    transform: scale(.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes alert-dialog-zoom-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(.96);
  }
}

@layer components {
  ::view-transition-old(.alert-dialog-backdrop) {
    animation: alert-dialog-fade-out var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.alert-dialog-backdrop) {
    animation: alert-dialog-fade-in var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.alert-dialog-popup) {
    animation: alert-dialog-zoom-out var(--duration) var(--ease);
    transform-origin: center;
    animation-fill-mode: both;
  }

  ::view-transition-new(.alert-dialog-popup) {
    animation: alert-dialog-zoom-in var(--duration) var(--ease);
    transform-origin: center;
    animation-fill-mode: both;
  }

  .alert-dialog-backdrop {
    position: fixed;
    z-index: var(--z-overlay);
    background-color: #00000080;
    inset: 0;
  }

  .alert-dialog-popup {
    position: fixed;
    z-index: var(--z-modal);
    display: grid;
    container-type: inline-size;
    container-name: alert-dialog;
    max-inline-size: min(32rem, calc(100% - var(--space-md) * 2));
    gap: var(--space-sm);
    inline-size: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .alert-dialog-header {
    display: flex;
    gap: var(--space-sm);
    text-align: center;
    flex-direction: column;
  }

  @container alert-dialog (width >= 40rem) {
    .alert-dialog-header {
      text-align: start;
    }
  }

  .alert-dialog-footer {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column-reverse;
  }

  @container alert-dialog (width >= 40rem) {
    .alert-dialog-footer {
      flex-direction: row;
      justify-content: flex-end;
    }
  }

  .alert-dialog-title {
    font-size: var(--text-lg);
    font-weight: 600;
    line-height: 1;
  }

  .alert-dialog-description {
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }
}

/* packages/ui/src/styles/blocks/dialog.css */
@keyframes dialog-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes dialog-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes dialog-zoom-in {
  from {
    opacity: 0;
    transform: scale(.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes dialog-zoom-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(.96);
  }
}

@layer components {
  ::view-transition-old(.dialog-backdrop) {
    animation: dialog-fade-out var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.dialog-backdrop) {
    animation: dialog-fade-in var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.dialog-popup) {
    animation: dialog-zoom-out var(--duration) var(--ease);
    transform-origin: center;
    animation-fill-mode: both;
  }

  ::view-transition-new(.dialog-popup) {
    animation: dialog-zoom-in var(--duration) var(--ease);
    transform-origin: center;
    animation-fill-mode: both;
  }

  .dialog-backdrop {
    position: fixed;
    z-index: var(--z-overlay);
    background-color: #00000080;
    inset: 0;
  }

  .dialog-popup {
    position: fixed;
    z-index: var(--z-modal);
    display: grid;
    container-type: inline-size;
    container-name: dialog;
    max-inline-size: min(32rem, calc(100% - var(--space-md) * 2));
    gap: var(--space-sm);
    inline-size: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .dialog-close {
    position: absolute;
    border-radius: var(--radius-sm);
    opacity: .7;
    transition: opacity var(--duration) var(--ease);
    cursor: pointer;
    padding: var(--space-xs);
    color: var(--muted);
    display: inline-flex;
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    top: var(--space-sm);
  }

  .dialog-close:hover {
    opacity: 1;
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dialog-close:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .dialog-close > svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    pointer-events: none;
    flex-shrink: 0;
  }

  .dialog-header {
    display: flex;
    gap: var(--space-sm);
    text-align: center;
    flex-direction: column;
  }

  @container dialog (width >= 40rem) {
    .dialog-header {
      text-align: start;
    }
  }

  .dialog-footer {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column-reverse;
  }

  @container dialog (width >= 40rem) {
    .dialog-footer {
      flex-direction: row;
      justify-content: flex-end;
    }
  }

  .dialog-title {
    font-size: var(--text-lg);
    font-weight: 600;
    line-height: 1;
  }

  .dialog-description {
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }
}

/* packages/ui/src/styles/blocks/sheet.css */
@keyframes sheet-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes sheet-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes sheet-slide-in-right {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes sheet-slide-out-right {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(100%);
  }
}

@keyframes sheet-slide-in-left {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes sheet-slide-out-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes sheet-slide-in-top {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes sheet-slide-out-top {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes sheet-slide-in-bottom {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes sheet-slide-out-bottom {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

@layer components {
  ::view-transition-old(.sheet-backdrop) {
    animation: sheet-fade-out var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.sheet-backdrop) {
    animation: sheet-fade-in var(--duration) var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.sheet-right) {
    animation: sheet-slide-out-right .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.sheet-right) {
    animation: sheet-slide-in-right .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.sheet-left) {
    animation: sheet-slide-out-left .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.sheet-left) {
    animation: sheet-slide-in-left .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.sheet-top) {
    animation: sheet-slide-out-top .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.sheet-top) {
    animation: sheet-slide-in-top .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-old(.sheet-bottom) {
    animation: sheet-slide-out-bottom .25s var(--ease);
    animation-fill-mode: both;
  }

  ::view-transition-new(.sheet-bottom) {
    animation: sheet-slide-in-bottom .25s var(--ease);
    animation-fill-mode: both;
  }

  .sheet-backdrop {
    position: fixed;
    z-index: var(--z-overlay);
    background-color: #00000080;
    inset: 0;
  }

  .sheet-content {
    position: fixed;
    z-index: var(--z-modal);
    display: flex;
    gap: var(--space-sm);
    background-color: var(--surface);
    box-shadow: var(--shadow-lg);
    transition: transform .25s var(--ease);
    flex-direction: column;
  }

  .sheet-content[data-side="right"] {
    border-inline-start: 1px solid var(--line);
    inline-size: 75%;
    max-inline-size: 24rem;
    top: 0;
    bottom: 0;
  }

  .sheet-content[data-side="right"]:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: 0;
  }

  .sheet-content[data-side="right"]:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: 0;
  }

  .sheet-content[data-side="right"]:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: 0;
  }

  .sheet-content[data-side="right"]:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }

  .sheet-content[data-side="right"]:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }

  .sheet-content[data-side="right"]:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }

  .sheet-content[data-side="left"] {
    border-inline-end: 1px solid var(--line);
    inline-size: 75%;
    max-inline-size: 24rem;
    top: 0;
    bottom: 0;
  }

  .sheet-content[data-side="left"]:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: 0;
  }

  .sheet-content[data-side="left"]:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: 0;
  }

  .sheet-content[data-side="left"]:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: 0;
  }

  .sheet-content[data-side="left"]:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .sheet-content[data-side="left"]:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .sheet-content[data-side="left"]:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .sheet-content[data-side="top"] {
    border-block-end: 1px solid var(--line);
    block-size: auto;
    top: 0;
    left: 0;
    right: 0;
  }

  .sheet-content[data-side="bottom"] {
    border-block-start: 1px solid var(--line);
    block-size: auto;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .sheet-close {
    position: absolute;
    border-radius: var(--radius-sm);
    opacity: .7;
    transition: opacity var(--duration) var(--ease);
    cursor: pointer;
    padding: var(--space-xs);
    color: var(--muted);
    display: inline-flex;
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    top: var(--space-sm);
  }

  .sheet-close:hover {
    opacity: 1;
  }

  .sheet-close[data-state="open"] {
    background-color: var(--surface-alt);
  }

  .sheet-close:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .sheet-close > svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    pointer-events: none;
    flex-shrink: 0;
  }

  .sheet-header {
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-md);
    flex-direction: column;
  }

  .sheet-footer {
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-md);
    flex-direction: column;
    margin-block-start: auto;
  }

  .sheet-title {
    color: var(--ink);
    font-weight: 600;
  }

  .sheet-description {
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }
}

/* packages/ui/src/styles/blocks/dropdown-menu.css */
@keyframes dropdown-menu-in {
  from {
    opacity: 0;
    transform: scale(.95)translateY(-.5rem);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

@keyframes dropdown-menu-out {
  from {
    opacity: 1;
    transform: scale(1)translateY(0);
  }

  to {
    opacity: 0;
    transform: scale(.95)translateY(-.5rem);
  }
}

@layer components {
  ::view-transition-old(.dropdown-menu-content) {
    animation: dropdown-menu-out var(--duration) var(--ease);
    transform-origin: var(--transform-origin);
    animation-fill-mode: both;
  }

  ::view-transition-new(.dropdown-menu-content) {
    animation: dropdown-menu-in var(--duration) var(--ease);
    transform-origin: var(--transform-origin);
    animation-fill-mode: both;
  }

  .dropdown-menu {
    position: relative;
    display: inline-flex;
  }

  .dropdown-menu-positioner {
    z-index: var(--z-overlay);
    position: absolute;
    inset: 0;
  }

  .dropdown-menu-content {
    max-block-size: var(--available-height, 25rem);
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: var(--radius-md);
    border: 1px solid var(--line);
    background-color: var(--surface);
    color: var(--ink);
    padding: var(--space-xs);
    box-shadow: var(--shadow-lg);
    transform-origin: var(--transform-origin);
    min-inline-size: 8rem;
  }

  .dropdown-menu-item {
    position: relative;
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    outline: none;
    cursor: default;
    user-select: none;
  }

  .dropdown-menu-item[data-inset="true"] {
    padding-inline-start: var(--space-lg);
  }

  .dropdown-menu-item[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  .dropdown-menu-item[data-highlighted] {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dropdown-menu-item[data-variant="destructive"] {
    color: var(--danger);
  }

  .dropdown-menu-item[data-variant="destructive"][data-highlighted] {
    background-color: color-mix(in oklch, var(--danger) 15%, var(--paper));
    color: var(--danger);
  }

  .dropdown-menu-item svg:not([class*="text-"]) {
    color: var(--muted);
    pointer-events: none;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }

  .dropdown-menu-item[data-variant="destructive"] svg:not([class*="text-"]) {
    color: var(--danger) !important;
  }

  .dropdown-menu-checkbox-item, .dropdown-menu-radio-item {
    position: relative;
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding-block: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    outline: none;
    cursor: default;
    user-select: none;
    padding-inline-start: var(--space-lg);
    padding-inline-end: var(--space-sm);
  }

  :is(.dropdown-menu-checkbox-item, .dropdown-menu-radio-item)[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  :is(.dropdown-menu-checkbox-item, .dropdown-menu-radio-item)[data-highlighted] {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  :is(.dropdown-menu-checkbox-item, .dropdown-menu-radio-item) svg {
    pointer-events: none;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }

  .dropdown-menu-checkbox-indicator, .dropdown-menu-radio-indicator {
    position: absolute;
    display: flex;
    pointer-events: none;
    justify-content: center;
    align-items:  center;
    block-size: .875rem;
    inline-size: .875rem;
  }

  .dropdown-menu-checkbox-indicator:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-checkbox-indicator:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-checkbox-indicator:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--space-sm);
  }

  .dropdown-menu-checkbox-indicator:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-checkbox-indicator:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-checkbox-indicator:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-radio-indicator:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--space-sm);
  }

  .dropdown-menu-check-icon {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }

  .dropdown-menu-radio-icon {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    fill: currentColor;
  }

  .dropdown-menu-label {
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    font-weight: 500;
  }

  .dropdown-menu-label[data-inset="true"] {
    padding-inline-start: var(--space-lg);
  }

  .dropdown-menu-separator {
    margin-block: var(--space-xs);
    margin-inline: calc(var(--space-xs) * -1);
    background-color: var(--line);
    block-size: 1px;
  }

  .dropdown-menu-shortcut {
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
    letter-spacing: .1em;
    color: var(--muted);
    margin-inline-start: auto;
  }

  .dropdown-menu-sub-trigger {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    outline: none;
    cursor: default;
    user-select: none;
  }

  .dropdown-menu-sub-trigger[data-inset="true"] {
    padding-inline-start: var(--space-lg);
  }

  .dropdown-menu-sub-trigger[data-highlighted] {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dropdown-menu-sub-trigger[data-state="open"] {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dropdown-menu-sub-trigger svg:not([class*="text-"]) {
    color: var(--muted);
    pointer-events: none;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }

  .dropdown-menu-sub-trigger-icon {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    margin-inline-start: auto;
  }

  .dropdown-menu-sub-content {
    z-index: var(--z-overlay);
    overflow: hidden;
    border-radius: var(--radius-md);
    border: 1px solid var(--line);
    background-color: var(--surface);
    color: var(--ink);
    padding: var(--space-xs);
    box-shadow: var(--shadow-lg);
    transform-origin: var(--transform-origin);
    animation: dropdown-menu-in var(--duration) var(--ease);
    min-inline-size: 8rem;
  }

  .dropdown-menu-sub-content[data-ending-style] {
    animation: dropdown-menu-out var(--duration) var(--ease);
  }
}

/* packages/ui/src/styles/blocks/nav-main.css */
@layer components {
  .nav-main-chevron {
    transition: transform var(--duration) ease;
  }

  .collapsible-trigger[data-state="open"] .nav-main-chevron {
    transform: rotate(90deg);
  }
}

/* packages/ui/src/styles/blocks/nav-user.css */
@layer components {
  .nav-user-trigger {
    inline-size: 100%;
  }

  .nav-user-trigger[data-state="open"] {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .nav-user-info {
    display: grid;
    text-align: start;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    flex: 1;
  }

  .nav-user-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
  }

  .nav-user-email {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
  }

  .nav-user-chevron {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    margin-inline-start: auto;
  }

  .nav-user-menu-label {
    padding: 0;
    font-weight: 400;
  }

  .nav-user-menu-label-content {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-inline: var(--space-xs);
    padding-block: var(--space-xs);
    text-align: start;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }

  .nav-user-avatar {
    border-radius: var(--radius-md);
    block-size: 2rem;
    inline-size: 2rem;
  }

  .nav-user-avatar-fallback {
    border-radius: var(--radius-md);
  }

  .nav-user-dropdown-content {
    inline-size: var(--radix-dropdown-menu-trigger-width);
    border-radius: var(--radius-md);
    min-inline-size: 14rem;
  }
}

/* packages/ui/src/styles/blocks/sidebar.css */
@layer components {
  .sidebar-wrapper {
    --sidebar-offset: clamp(var(--space-xs), 1.5vw, 1.25rem);
    --sidebar-radius: clamp(var(--space-sm), 2vw, 1.25rem);
    --sidebar-shadow: var(--shadow-inset);
    --sidebar-card-bg: color-mix(in oklab, var(--surface) 78%, transparent);
    --sidebar-card-shadow: var(--sidebar-shadow);
    --sidebar-card-backdrop: blur(calc(var(--space-sm) * 2.25)) saturate(1.35);
    --sidebar-container-padding: clamp(var(--space-xs), 1vw, var(--space-sm));
    --sidebar-container-padding-collapsed: clamp(var(--space-sm), .9vw, var(--space-xs));
    --sidebar-inner-padding: clamp(var(--space-xs), 1.2vw, var(--space-sm));
    --sidebar-inner-gap: clamp(var(--space-xs), 1.2vw, var(--space-sm));
    --sidebar-inner-radius-offset: clamp(var(--space-xs), .8vw, var(--space-sm));
    --sidebar-inner-padding-collapsed: clamp(var(--space-sm), .8vw, var(--space-xs));
    --sidebar-inner-gap-collapsed: clamp(var(--space-sm), .8vw, var(--space-xs));
    --sidebar-inner-bg: transparent;
    --sidebar-inner-shadow: none;
    display: flex;
    container-type: inline-size;
    container-name: sidebar;
    align-items: stretch;
    gap: clamp(var(--space-sm), 3vw, var(--space-md));
    padding: var(--sidebar-offset);
    background: color-mix(in oklab, var(--paper) 96%, transparent);
    flex-direction: column;
    min-block-size: 100svh;
    inline-size: 100%;
    transition: gap .22s, padding .22s;
  }

  .sidebar-sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    block-size: 1px;
    inline-size: 1px;
    margin: -1px;
    padding: 0;
  }

  .sidebar-wrapper[data-mobile="true"] {
    background: none;
    gap: 0;
  }

  .sidebar-wrapper:has(.sidebar[data-variant="floating"]) {
    padding: clamp(var(--space-sm), 1.2vw, var(--space-xs));
  }

  .sidebar-wrapper:has(.sidebar[data-variant="inset"]) {
    background: color-mix(in oklab, var(--paper) 98%, transparent);
  }

  @media (min-width: 48rem) {
    .sidebar-wrapper {
      flex-direction: row;
      align-items: stretch;
    }

    .sidebar-wrapper[data-state="collapsed"][data-mobile="false"] {
      gap: clamp(var(--space-xs), 1.5vw, var(--space-sm));
    }
  }

  @media (max-width: 47.9375rem) {
    .sidebar-wrapper {
      background: none;
      flex-direction: column;
      gap: 0;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .sidebar-wrapper, .sidebar-container {
      transition: none;
    }
  }

  .sidebar {
    color: var(--ink);
    display: none;
    position: relative;
    z-index: var(--z-raised);
    min-inline-size: 0;
  }

  @container sidebar (width >= 48rem) {
    .sidebar {
      display: flex;
      flex: 0 0 min(var(--sidebar-width, 20rem), 100%);
      max-inline-size: min(var(--sidebar-width, 20rem), 100%);
      transition: flex-basis .22s, max-inline-size .22s;
    }

    .sidebar-wrapper[data-state="collapsed"][data-mobile="false"] .sidebar[data-collapsible="offcanvas"] {
      flex-basis: 0;
      max-inline-size: 0;
    }

    .sidebar-wrapper[data-state="collapsed"][data-mobile="false"] .sidebar[data-collapsible="icon"] {
      flex-basis: var(--sidebar-width-icon, calc(3rem + var(--space-sm)));
      max-inline-size: var(--sidebar-width-icon, calc(3rem + var(--space-sm)));
    }
  }

  .sidebar-gap {
    display: none;
  }

  .sidebar-container {
    position: sticky;
    top: var(--sidebar-offset);
    display: flex;
    inline-size: min(var(--sidebar-width, 20rem), 100%);
    block-size: calc(100svh - (var(--sidebar-offset) * 2));
    border-radius: var(--sidebar-radius);
    --card-padding: var(--sidebar-container-padding);
    --card-bg: var(--sidebar-card-bg);
    --card-shadow: var(--sidebar-card-shadow);
    --card-backdrop: var(--sidebar-card-backdrop);
    backdrop-filter: var(--card-backdrop, none);
    z-index: 5;
    opacity: 1;
    will-change: transform, opacity, width;
    transition: transform .22s, opacity .18s, inline-size .22s;
    transform: translate3d(0, 0, 0);
  }

  .sidebar[data-side="right"] .sidebar-container {
    margin-inline-start: auto;
  }

  .sidebar[data-state="collapsed"][data-collapsible="offcanvas"] .sidebar-container {
    opacity: 0;
    transform: translateX(calc((-1) * (var(--sidebar-width, 20rem)  + var(--sidebar-offset))));
    pointer-events: none;
  }

  .sidebar[data-side="right"][data-state="collapsed"][data-collapsible="offcanvas"] .sidebar-container {
    transform: translateX(calc(var(--sidebar-width, 20rem)  + var(--sidebar-offset)));
  }

  .sidebar[data-state="collapsed"][data-collapsible="icon"] .sidebar-container {
    inline-size: var(--sidebar-width-icon, calc(3rem + var(--space-sm)));
    --card-padding: var(--sidebar-container-padding-collapsed);
  }

  .sidebar[data-state="expanded"] .sidebar-container {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
  }

  .sidebar[data-variant="floating"] .sidebar-container {
    --card-bg: color-mix(in oklab, var(--surface) 72%, transparent);
  }

  .sidebar[data-variant="inset"] .sidebar-container {
    --card-bg: linear-gradient(165deg, color-mix(in oklab, var(--surface) 90%, transparent) 0%, var(--surface) 100%);
    --card-shadow: var(--sidebar-shadow);
  }

  .sidebar-inner {
    display: flex;
    gap: var(--sidebar-inner-gap);
    border-radius: calc(var(--sidebar-radius)  - var(--sidebar-inner-radius-offset));
    padding: var(--sidebar-inner-padding);
    background: var(--sidebar-inner-bg);
    box-shadow: var(--sidebar-inner-shadow);
    overflow: hidden;
    flex-direction: column;
    flex: 1;
    block-size: 100%;
    inline-size: 100%;
  }

  .sidebar[data-state="collapsed"][data-collapsible="icon"] .sidebar-inner {
    padding: var(--sidebar-inner-padding-collapsed);
    gap: var(--sidebar-inner-gap-collapsed);
    border-radius: calc(var(--sidebar-radius)  - clamp(var(--radius-sm), .6vw, var(--space-sm)));
  }

  .sidebar-trigger {
    inline-size: calc(2rem - var(--space-xs));
    block-size: calc(2rem - var(--space-xs));
  }

  .sidebar-rail {
    position: absolute;
    z-index: 20;
    display: none;
    inline-size: var(--space-sm);
    transition: all ease-linear;
    top: 0;
    bottom: 0;
    translate: -50%;
  }

  @container sidebar (width >= 40rem) {
    .sidebar-rail {
      display: flex;
    }
  }

  .sidebar[data-side="left"] .sidebar-rail {
    right: calc(var(--space-sm) * -1);
  }

  .sidebar[data-side="right"] .sidebar-rail {
    left: 0;
  }

  .sidebar[data-side="left"] .sidebar-rail {
    cursor: w-resize;
  }

  .sidebar[data-side="right"] .sidebar-rail, .sidebar[data-side="left"][data-state="collapsed"] .sidebar-rail {
    cursor: e-resize;
  }

  .sidebar[data-side="right"][data-state="collapsed"] .sidebar-rail {
    cursor: w-resize;
  }

  .sidebar-rail:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inline-size: 2px;
    left: 50%;
  }

  .sidebar-rail:hover:after {
    background-color: var(--line);
  }

  .sidebar[data-collapsible="offcanvas"] .sidebar-rail {
    translate: 0;
  }

  .sidebar[data-collapsible="offcanvas"] .sidebar-rail:after {
    left: 100%;
  }

  .sidebar[data-collapsible="offcanvas"] .sidebar-rail:hover {
    background-color: var(--surface);
  }

  .sidebar[data-collapsible="offcanvas"][data-side="left"] .sidebar-rail {
    right: calc(var(--space-sm) * -1);
  }

  .sidebar[data-collapsible="offcanvas"][data-side="right"] .sidebar-rail {
    left: calc(var(--space-sm) * -1);
  }

  .sidebar-rail:before {
    content: "";
    position: absolute;
    inset: calc(var(--space-sm) * -1);
  }

  @container sidebar (width >= 48rem) {
    .sidebar-rail:before {
      display: none;
    }
  }

  .sidebar-inset {
    position: relative;
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
    flex: 1;
    inline-size: 100%;
    min-inline-size: 0;
  }

  .sidebar-input {
    background-color: var(--paper);
    box-shadow: none;
    block-size: 2rem;
    inline-size: 100%;
  }

  .sidebar-header, .sidebar-footer {
    display: flex;
    gap: var(--space-sm);
    padding: var(--sidebar-section-padding, var(--space-sm));
    flex-direction: column;
  }

  .sidebar-separator {
    background-color: var(--line);
    margin-inline: var(--space-sm);
    inline-size: auto;
  }

  .sidebar-content {
    display: flex;
    gap: clamp(var(--space-sm), .8vw, var(--space-xs));
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in oklab, var(--line) 65%, transparent) color-mix(in oklab, var(--surface) 85%, transparent);
    mask-image: linear-gradient(180deg, transparent 0, #000 clamp(var(--space-sm), 1.2vw, var(--space-sm)), #000 calc(100% - clamp(var(--space-xs), 1.6vw, 1.25rem)), transparent 100%);
    flex-direction: column;
    flex: 1;
    min-block-size: 0;
    padding-inline-end: var(--space-xs);
  }

  .sidebar-content::-webkit-scrollbar {
    inline-size: 6px;
  }

  .sidebar-content::-webkit-scrollbar-thumb {
    background: color-mix(in oklab, var(--line) 70%, transparent);
    border-radius: var(--radius-full);
  }

  .sidebar-content::-webkit-scrollbar-track {
    background: none;
  }

  .sidebar[data-collapsible="icon"] .sidebar-content {
    overflow: hidden;
  }

  .sidebar-group {
    position: relative;
    display: flex;
    padding: var(--space-sm);
    flex-direction: column;
    inline-size: 100%;
    min-inline-size: 0;
  }

  .sidebar-group-label {
    color: color-mix(in oklch, var(--ink) 70%, transparent);
    display: flex;
    border-radius: var(--radius-sm);
    padding-inline: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: var(--leading-snug);
    outline: none;
    transition: margin .2s ease-linear, opacity .2s ease-linear;
    flex-shrink: 0;
    align-items:  center;
    block-size: 2rem;
  }

  .sidebar-group-label:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
  }

  .sidebar-group-label > svg {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    flex-shrink: 0;
  }

  .sidebar[data-collapsible="icon"] .sidebar-group-label {
    opacity: 0;
    margin-top: -2rem;
  }

  .sidebar-group-action {
    --button-size: 1.25rem;
    color: var(--ink);
    position: absolute;
    top: calc(var(--space-sm)  - 2px);
    right: var(--space-xs);
    display: flex;
    aspect-ratio: 1;
    border-radius: var(--radius-sm);
    outline: none;
    justify-content: center;
    align-items:  center;
    inline-size: 1.25rem;
    padding: 0;
    transition: transform;
  }

  .sidebar-group-action:hover {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .sidebar-group-action:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
  }

  .sidebar-group-action > svg {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    flex-shrink: 0;
  }

  .sidebar-group-action:after {
    content: "";
    position: absolute;
    inset: calc(var(--space-sm) * -1);
  }

  @container sidebar (width >= 48rem) {
    .sidebar-group-action:after {
      display: none;
    }
  }

  .sidebar[data-collapsible="icon"] .sidebar-group-action {
    display: none;
  }

  .sidebar-group-content {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    inline-size: 100%;
  }

  .sidebar-menu {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    inline-size: 100%;
    min-inline-size: 0;
  }

  .sidebar-menu-item {
    position: relative;
    list-style: none;
  }

  .sidebar-menu-button {
    display: flex;
    justify-content: flex-start;
    align-items:  center;
    gap: var(--space-sm);
    overflow: hidden;
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    text-align: left;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    outline: none;
    inline-size: 100%;
    transition: width, height, padding;
  }

  .sidebar-menu-button:where(:hover, :active) {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .sidebar-menu-button:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
  }

  .sidebar-menu-button:disabled, .sidebar-menu-button[aria-disabled="true"] {
    pointer-events: none;
    opacity: .5;
  }

  .sidebar-menu-item:has([data-sidebar="menu-action"]) .sidebar-menu-button {
    padding-inline-end: var(--space-lg);
  }

  .sidebar-menu-button[data-active="true"] {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
    font-weight: 500;
  }

  .sidebar[data-collapsible="icon"] .sidebar-menu-button {
    padding: var(--space-sm) !important;
    block-size: 2rem !important;
    inline-size: 2rem !important;
  }

  .sidebar-menu-button > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sidebar-menu-button > svg {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    flex-shrink: 0;
  }

  .sidebar-menu-button[data-size="sm"] {
    block-size: calc(2rem - var(--space-xs));
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
  }

  .sidebar-menu-button[data-size="lg"] {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    block-size: 3rem;
  }

  .sidebar[data-collapsible="icon"] .sidebar-menu-button[data-size="lg"] {
    padding: 0 !important;
  }

  .sidebar-menu-button[data-variant="outline"] {
    background-color: var(--paper);
    box-shadow: 0 0 0 1px var(--line);
  }

  .sidebar-menu-button[data-variant="outline"]:hover {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
    box-shadow: 0 0 0 1px var(--accent);
  }

  .sidebar-menu-action {
    --button-size: 1.25rem;
    color: var(--ink);
    position: absolute;
    top: calc(var(--space-sm)  - 2px);
    right: var(--space-xs);
    display: flex;
    aspect-ratio: 1;
    border-radius: var(--radius-sm);
    outline: none;
    justify-content: center;
    align-items:  center;
    inline-size: 1.25rem;
    padding: 0;
    transition: transform;
  }

  .sidebar-menu-action:hover {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .sidebar-menu-button:hover ~ .sidebar-menu-action {
    color: var(--ink);
  }

  .sidebar-menu-action:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
  }

  .sidebar-menu-action > svg {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    flex-shrink: 0;
  }

  .sidebar-menu-action:after {
    content: "";
    position: absolute;
    inset: calc(var(--space-sm) * -1);
  }

  @container sidebar (width >= 48rem) {
    .sidebar-menu-action:after {
      display: none;
    }
  }

  .sidebar[data-collapsible="icon"] .sidebar-menu-action {
    display: none;
  }

  .sidebar-menu-action[data-show-on-hover="true"] {
    opacity: 0;
  }

  .sidebar-menu-item:focus-within .sidebar-menu-action[data-show-on-hover="true"], .sidebar-menu-item:hover .sidebar-menu-action[data-show-on-hover="true"], .sidebar-menu-action[data-show-on-hover="true"][data-state="open"] {
    opacity: 1;
  }

  .sidebar-menu-button[data-active="true"] ~ .sidebar-menu-action[data-show-on-hover="true"] {
    color: var(--ink);
  }

  @container sidebar (width >= 48rem) {
    .sidebar-menu-action[data-show-on-hover="true"] {
      opacity: 0;
    }

    .sidebar-menu-item:focus-within .sidebar-menu-action[data-show-on-hover="true"], .sidebar-menu-item:hover .sidebar-menu-action[data-show-on-hover="true"], .sidebar-menu-action[data-show-on-hover="true"][data-state="open"] {
      opacity: 1;
    }
  }

  .sidebar-menu-badge {
    color: var(--ink);
    pointer-events: none;
    position: absolute;
    right: var(--space-xs);
    display: flex;
    border-radius: var(--radius-sm);
    padding-inline: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
    user-select: none;
    font-feature-settings: "tnum";
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    min-inline-size: 1.25rem;
    font-weight: 500;
  }

  .sidebar-menu-button:hover ~ .sidebar-menu-badge, .sidebar-menu-button[data-active="true"] ~ .sidebar-menu-badge {
    color: var(--ink);
  }

  .sidebar-menu-badge[data-size="sm"] {
    top: var(--space-xs);
  }

  .sidebar-menu-badge[data-size="default"] {
    top: calc(var(--space-sm)  - 2px);
  }

  .sidebar-menu-badge[data-size="lg"] {
    top: .625rem;
  }

  .sidebar[data-collapsible="icon"] .sidebar-menu-badge {
    display: none;
  }

  .sidebar-menu-skeleton {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding-inline: var(--space-sm);
    block-size: 2rem;
  }

  .sidebar-submenu {
    border-left: 1px solid var(--line);
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    min-inline-size: 0;
    margin-inline-start: calc(var(--space-sm)  - 2px);
    padding-block-start: 2px;
    padding-block-end: 2px;
    padding-inline-start: .625rem;
    padding-inline-end: .625rem;
    translate: 1px;
  }

  .sidebar[data-collapsible="icon"] .sidebar-submenu {
    display: none;
  }

  .sidebar-submenu-item {
    position: relative;
  }

  .sidebar-submenu-button {
    color: var(--ink);
    display: flex;
    block-size: calc(2rem - var(--space-xs));
    justify-content: flex-start;
    align-items:  center;
    gap: var(--space-sm);
    overflow: hidden;
    border-radius: var(--radius-sm);
    padding-inline: var(--space-sm);
    outline: none;
    min-inline-size: 0;
    translate: -1px;
  }

  .sidebar-submenu-button:where(:hover, :active) {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .sidebar-submenu-button:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
  }

  .sidebar-submenu-button:disabled, .sidebar-submenu-button[aria-disabled="true"] {
    pointer-events: none;
    opacity: .5;
  }

  .sidebar-submenu-button > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sidebar-submenu-button > svg {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    color: var(--ink);
    flex-shrink: 0;
  }

  .sidebar-submenu-button[data-active="true"] {
    background-color: color-mix(in oklch, var(--accent) 12%, var(--paper));
    color: var(--ink);
  }

  .sidebar-submenu-button[data-size="sm"] {
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
  }

  .sidebar-submenu-button[data-size="md"] {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }

  .sidebar[data-collapsible="icon"] .sidebar-submenu-button {
    display: none;
  }

  .sidebar-sheet {
    background: var(--card-bg, radial-gradient(140% 120% at 0% 0%, #ffffff14, transparent), var(--surface));
    color: var(--ink);
    inline-size: min(var(--sidebar-width), 100%);
    padding: var(--card-padding, var(--sidebar-container-padding, 0));
    backdrop-filter: var(--card-backdrop, blur(calc(var(--space-sm) * 2.25)) saturate(1.25));
    box-shadow: var(--card-shadow, 0 calc(var(--space-xs) * -1) var(--space-lg) calc(var(--space-md) * -1) #0f172a59);
  }

  .sidebar-sheet > button {
    display: none;
  }

  .sidebar-sheet-inner {
    display: flex;
    gap: var(--sidebar-inner-gap, clamp(var(--space-xs), 1.2vw, var(--space-sm)));
    padding: var(--sidebar-inner-padding, clamp(var(--space-xs), 1.2vw, var(--space-sm)));
    flex-direction: column;
    block-size: 100%;
    inline-size: 100%;
  }

  .sidebar-skeleton-icon {
    inline-size: var(--space-sm);
    block-size: var(--space-sm);
    border-radius: var(--radius-sm);
  }

  .sidebar-skeleton-text {
    block-size: var(--space-sm);
    max-inline-size: var(--skeleton-width);
    flex: 1;
  }
}

/* packages/ui/src/styles/blocks/app-shell.css */
@layer components {
  .app-shell-sidebar {
    --card-radius: var(--radius-lg);
    --card-padding: clamp(var(--space-md), 1.4vw, var(--space-lg));
    --sidebar-card-bg: linear-gradient(165deg, color-mix(in oklch, var(--surface) 90%, transparent) 0%, var(--surface) 100%);
    --sidebar-card-backdrop: blur(1rem) saturate(1.35);
    --card-bg: var(--sidebar-card-bg);
    --card-backdrop: var(--sidebar-card-backdrop);
  }

  .app-shell-header {
    position: sticky;
    top: var(--space-sm);
    z-index: var(--z-raised);
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    backdrop-filter: blur(1rem) saturate(1.2);
    container-type: inline-size;
    container-name: app-shell;
    flex-shrink: 0;
    block-size: 4rem;
  }

  .app-shell-header-content {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-inline: clamp(var(--space-md), 2vw, var(--space-lg));
    flex: 1;
  }

  .app-shell-breadcrumbs {
    flex: 1;
    min-inline-size: 0;
  }

  .app-shell-header-actions {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-inline: clamp(var(--space-md), 2vw, var(--space-lg));
  }

  .app-shell-separator {
    block-size: var(--space-md);
    margin-inline-end: var(--space-sm);
  }

  .app-shell-trigger {
    margin-inline-start: calc(var(--space-xs) * -1);
  }

  .app-shell-content {
    display: flex;
    gap: var(--app-shell-content-gap, clamp(var(--space-md), 1.5vw, var(--space-lg)));
    padding-block: var(--app-shell-content-padding-block, clamp(var(--space-lg), 2vw, var(--space-xl)));
    padding-inline: var(--app-shell-content-padding-inline, clamp(var(--space-md), 2vw, var(--space-lg)));
    flex-direction: column;
    flex: 1;
  }

  .app-shell-content--padding-none {
    --app-shell-content-gap: 0px;
    --app-shell-content-padding-block: 0px;
    --app-shell-content-padding-inline: 0px;
  }

  .app-shell-content--padding-compact {
    --app-shell-content-gap: clamp(var(--space-sm), 1.25vw, var(--space-md));
    --app-shell-content-padding-block: clamp(var(--space-md), 1.6vw, var(--space-lg));
    --app-shell-content-padding-inline: clamp(var(--space-sm), 1.6vw, var(--space-md));
  }

  .app-shell-logo {
    display: flex;
    aspect-ratio: 1;
    border-radius: var(--radius-md);
    background-color: var(--accent);
    color: var(--paper);
    box-shadow: var(--shadow-lg);
    justify-content: center;
    align-items:  center;
    block-size: 2rem;
    inline-size: 2rem;
  }

  .app-shell-header-info {
    display: grid;
    text-align: left;
    font-size: var(--text-base);
    flex: 1;
    block-size: 1.25px;
  }

  .app-shell-header-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: .01em;
    font-weight: 500;
  }

  .app-shell-header-subtitle {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm);
    block-size: var(--space-md);
    color: color-mix(in oklch, var(--ink) 70%, transparent);
  }

  .app-shell-nav-secondary {
    padding-top: clamp(var(--space-sm), 1vw, var(--space-md));
    border-top: 1px solid color-mix(in oklch, var(--line) 40%, transparent);
    margin-top: auto;
  }

  .app-shell-hidden-md {
    display: none;
  }

  @container app-shell (width >= 48rem) {
    .app-shell-hidden-md {
      display: block;
    }
  }
}

/* packages/ui/src/styles/index.css */
@layer reset, tokens, utilities, components, overrides;
@import "https://fonts.bunny.net/css?family=albert-sans:200,300i,500,500i,700,700i|cutive-mono:400|lora:500,500i,700,700i";
@import "./reset.css";
@import "./custom-media.css";
@import "./tokens.css";
@import "./utility.css";
@import "./blocks/button.css";
@import "./blocks/card.css";
@import "./blocks/input.css";
@import "./blocks/badge.css";
@import "./blocks/form.css";
@import "./blocks/field.css";
@import "./blocks/fieldset.css";
@import "./blocks/label.css";
@import "./blocks/separator.css";
@import "./blocks/skeleton.css";
@import "./blocks/spinner.css";
@import "./blocks/scroll-area.css";
@import "./blocks/checkbox.css";
@import "./blocks/avatar.css";
@import "./blocks/alert.css";
@import "./blocks/empty.css";
@import "./blocks/breadcrumb.css";
@import "./blocks/tooltip.css";
@import "./blocks/collapsible.css";
@import "./blocks/item.css";
@import "./blocks/error-boundary.css";
@import "./blocks/tabs.css";
@import "./blocks/toast.css";
@import "./blocks/alert-dialog.css";
@import "./blocks/dialog.css";
@import "./blocks/sheet.css";
@import "./blocks/dropdown-menu.css";
@import "./blocks/nav-main.css";
@import "./blocks/nav-user.css";
@import "./blocks/sidebar.css";
@import "./blocks/app-shell.css";

/* packages/ui/src/styles/globals.css */


/* apps/styleguide/src/styles/app.css */
:root {
  color: var(--ink);
  background: var(--paper);
}

body {
  font-family: var(--font-body);
  background: var(--paper);
  color: var(--ink);
}

a {
  color: inherit;
  text-decoration: none;
}

.sg-page {
  margin: var(--space-xl) 0;
  display: flex;
  gap: var(--space-xl);
  animation: sg-fade-up var(--duration-normal) var(--ease-out) both;
  flex-direction: column;
}

.sg-page-header {
  display: flex;
  gap: var(--space-xs);
  flex-direction: column;
}

.sg-title-row {
  display: flex;
  gap: var(--space-xs);
  flex-wrap: wrap;
  align-items:  center;
}

.sg-title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.1;
  font-weight: var(--weight-semibold);
  letter-spacing: -.02em;
}

.sg-subtitle {
  font-size: var(--text-lg);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
  max-width: 40rem;
}

.sg-hero {
  display: grid;
  gap: var(--space-lg);
  padding: var(--space-xl);
  border-radius: var(--radius-xl);
  background: color-mix(in oklch, var(--surface) 85%, transparent);
  border: 1px solid var(--color-border);
}

.sg-hero-title {
  display: grid;
  gap: var(--space-xs);
}

.sg-hero-actions {
  display: flex;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.sg-stat-grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.sg-stat-value {
  font-size: 2rem;
  font-weight: var(--weight-bold);
}

.sg-section {
  display: grid;
  gap: var(--space-md);
}

.sg-section-header {
  display: flex;
  justify-content: space-between;
  align-items:  center;
  gap: var(--space-sm);
}

.sg-section-title {
  font-size: var(--text-2xl);
  letter-spacing: -.01em;
}

.sg-section-link {
  font-size: var(--text-sm);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
}

.sg-component-grid {
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.sg-component-card {
  padding: var(--space-md);
  display: grid;
  gap: var(--space-2xs);
  animation: sg-fade-up var(--duration-normal) var(--ease-out) both;
  animation-delay: calc(var(--stagger-index, 0) * 40ms);
}

.sg-component-card-title {
  font-weight: var(--weight-semibold);
}

.sg-component-card-meta {
  font-size: var(--text-sm);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
}

.sg-demo-stack {
  display: grid;
  gap: var(--space-sm);
}

.sg-demo-row {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
  align-items:  center;
}

.sg-demo-grid {
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.sg-demo-card {
  display: grid;
  gap: var(--space-sm);
}

.sg-demo-card-header {
  display: flex;
  justify-content: space-between;
  align-items:  center;
  gap: var(--space-sm);
  padding-bottom: 0;
}

.sg-demo-card-title {
  font-size: var(--text-lg);
  font-weight: var(--weight-semibold);
}

.sg-demo-card-actions {
  display: flex;
  gap: var(--space-xs);
}

.sg-demo-card-content {
  display: grid;
  gap: var(--space-sm);
}

.sg-appshell-demo-grid {
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.sg-appshell-demo-item {
  display: grid;
  gap: var(--space-xs);
}

.sg-appshell-demo-label {
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
}

.sg-appshell-demo-shell {
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  overflow: hidden;
  min-height: 16rem;
  max-height: 16rem;
}

.sg-appshell-demo-shell-inner, .sg-appshell-demo-shell-inner > * {
  height: 100%;
  min-height: 0;
}

.sg-appshell-demo-content {
  display: grid;
  gap: var(--space-xs);
  margin-block-start: var(--space-sm);
}

.sg-appshell-demo-block {
  border-radius: var(--radius-xs);
  background: color-mix(in oklch, var(--color-primary) 45%, transparent);
  height: .85rem;
}

.sg-card-content {
  display: flex;
  justify-content: space-between;
  align-items:  center;
  gap: var(--space-sm);
}

.sg-inline-field {
  display: flex;
  align-items:  center;
  gap: var(--space-xs);
}

.sg-collapsible-trigger {
  display: flex;
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  justify-content: space-between;
  align-items:  center;
  width: 100%;
}

.sg-collapsible-content {
  padding: var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface-2);
}

.sg-form-grid {
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  align-items:  end;
}

.sg-sidebar-preview {
  width: min(18rem, 100%);
  min-height: 12rem;
}

.sg-sidebar-wrapper {
  padding: var(--space-xs);
  gap: var(--space-sm);
  min-block-size: auto;
}

.sg-scroll-area {
  max-height: 12rem;
}

.sg-scroll-item {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.sg-scroll-title {
  font-weight: var(--weight-semibold);
}

.sg-scroll-meta {
  font-size: var(--text-sm);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
}

.sg-separator-block {
  display: flex;
  align-items:  center;
  gap: var(--space-sm);
  padding: var(--space-xs);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}

.sg-separator-vertical {
  flex-direction: row;
}

.sg-skeleton-line {
  width: 12rem;
  height: .75rem;
}

.sg-skeleton-block {
  width: 100%;
  height: 4rem;
}

.sg-spinner-muted {
  opacity: .5;
}

.sg-theme-preview {
  display: inline-flex;
  align-items:  center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.sg-utility-pill {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  font-size: var(--text-sm);
}

.sg-inline-note {
  font-size: var(--text-sm);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
}

.sg-sheet-body {
  display: grid;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.sg-token-grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.sg-token-card {
  padding: var(--space-md);
}

.sg-token-header {
  display: flex;
  justify-content: space-between;
  align-items:  center;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.sg-token-title {
  font-size: var(--text-lg);
}

.sg-token-list {
  display: grid;
  gap: var(--space-xs);
}

.sg-token-row {
  display: grid;
  gap: var(--space-3xs);
  grid-template-columns: auto 1fr;
  padding: var(--space-2xs);
  border-radius: var(--radius-sm);
  border: 1px solid color-mix(in oklch, var(--color-border) 70%, transparent);
  background: var(--color-surface);
  animation: sg-fade-up var(--duration-normal) var(--ease-out) both;
  animation-delay: calc(var(--stagger-index, 0) * 30ms);
}

.sg-token-swatch {
  border-radius: var(--radius-xs);
  border: 1px solid var(--color-border);
  width: 1.5rem;
  height: 1.5rem;
}

.sg-token-name {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.sg-token-value {
  grid-column: 2 / span 1;
  font-size: var(--text-sm);
  color: color-mix(in oklch, var(--ink) 85%, transparent);
  word-break: break-word;
}

@keyframes sg-fade-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sg-page, .sg-component-card, .sg-token-row {
    animation: none;
  }
}
