@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 0 0);
    --ink: oklch(.22 .03 250);
    --accent: oklch(.5 .01 70);
    --on-accent: oklch(.98 0 0);
    --positive: oklch(.7 .16 145);
    --warning: oklch(.78 .15 85);
    --danger: oklch(.62 .2 25);
    --surface: color-mix(in oklab, var(--paper) 94%, var(--ink));
    --surface-alt: color-mix(in oklab, var(--paper) 88%, var(--ink));
    --line: color-mix(in oklab, var(--paper) 78%, var(--ink));
    --muted: color-mix(in oklab, 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;
    --text-3xl: 1.75rem;
    --text-4xl: 2.25rem;
    --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;
    --shadow-card: inset 0 0 2px -.75px oklch(1 0 0 / 10%), inset 0 0 1px -.25px oklch(1 0 0 / 25%);
    --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 0 0);
    --ink: oklch(.95 .01 250);
    --accent: oklch(.7 .015 70);
    --on-accent: oklch(.12 0 0);
    --positive: oklch(.74 .14 145);
    --warning: oklch(.82 .14 85);
    --danger: oklch(.7 .18 25);
    --surface: color-mix(in oklab, var(--paper) 97%, var(--ink));
    --surface-alt: color-mix(in oklab, var(--paper) 88%, var(--ink));
    --line: color-mix(in oklab, var(--paper) 78%, var(--ink));
    --muted: color-mix(in oklab, 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 0 0);
      --ink: oklch(.95 .01 250);
      --accent: oklch(.7 .015 70);
      --on-accent: oklch(.12 0 0);
      --positive: oklch(.74 .14 145);
      --warning: oklch(.82 .14 85);
      --danger: oklch(.7 .18 25);
      --surface: color-mix(in oklab, var(--paper) 97%, var(--ink));
      --surface-alt: color-mix(in oklab, var(--paper) 88%, var(--ink));
      --line: color-mix(in oklab, var(--paper) 78%, var(--ink));
      --muted: color-mix(in oklab, 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 {
  .stack {
    display: flex;
    gap: var(--stack-gap, var(--space-md));
    flex-direction: column;
  }

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

  .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);
  }

  .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;
  }

  .hidden {
    display: none;
  }
}

/* packages/ui/src/styles/blocks/surface.css */
@layer utilities {
  .surface {
    background: var(--surface-bg, var(--surface));
    border-radius: var(--surface-radius, var(--radius-lg));
    box-shadow: var(--surface-shadow, var(--shadow-card));
  }

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

  .surface[data-surface="outline"] {
    --surface-shadow: none;
  }

  .surface[data-surface="ghost"] {
    --surface-bg: transparent;
    --surface-shadow: 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 oklab, 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(--ink);
    --button-border: var(--line);
    color: var(--ink);
  }

  .button[data-variant="outline"]:hover:not(:disabled) {
    background: color-mix(in oklab, var(--accent) 12%, var(--paper));
    border-color: color-mix(in oklab, var(--accent) 40%, var(--line));
    box-shadow: none;
  }

  .button[data-variant="outline"]:focus-visible {
    outline-color: var(--line);
  }

  .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(--surface-bg, var(--surface));
    border-radius: var(--surface-radius, var(--radius-lg));
    box-shadow: var(--surface-shadow, var(--shadow-card));
    padding: var(--card-padding, var(--space-lg));
    transition: box-shadow var(--duration) var(--ease);
  }

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

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

  .card[data-interactive] {
    cursor: pointer;
    transition: box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);
  }

  .card[data-interactive]:hover {
    box-shadow: var(--shadow-card), inset 0 0 1px color-mix(in oklab, var(--accent) 25%, transparent), inset 0 0 5rem color-mix(in oklab, var(--accent) 5%, transparent);
    transition-duration: calc(var(--duration) * 1.5);
    transform: scale(1.02);
  }

  .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 oklab, 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 oklab, var(--danger) 15%, transparent);
  }

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

/* packages/ui/src/styles/blocks/select.css */
@layer components {
  :where(.select-wrapper) {
    position: relative;
    display: inline-flex;
    inline-size: 100%;
  }

  :where(.select) {
    display: block;
    min-block-size: var(--input-size, 2.5rem);
    padding-inline-start: var(--input-px, var(--space-sm));
    padding-inline-end: calc(var(--space-sm)  + var(--space-lg));
    padding-block: var(--input-py, var(--space-xs));
    appearance: none;
    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);
    cursor: pointer;
    transition: border-color var(--duration) var(--ease);
    inline-size: 100%;
  }

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

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

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

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

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

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

  :where(.select)[data-placeholder] {
    color: var(--muted);
  }

  :where(.select-icon) {
    position: absolute;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    color: var(--muted);
    pointer-events: none;
    margin-block-start: auto;
    margin-block-end: auto;
    top: 0;
    bottom: 0;
  }

  :where(.select-icon):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: var(--space-sm);
  }

  :where(.select-icon):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: var(--space-sm);
  }

  :where(.select-icon):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: var(--space-sm);
  }

  :where(.select-icon):-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);
  }

  :where(.select-icon):-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);
  }

  :where(.select-icon):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);
  }
}

/* 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);
    background: color-mix(in oklab, var(--ink) 12%, transparent);
    color: var(--muted);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    white-space: nowrap;
    justify-self: flex-start;
    padding-block-start: 2px;
    padding-block-end: 2px;
    font-weight: 500;
    line-height: 1;
  }

  .badge[data-variant="success"] {
    background: color-mix(in oklab, var(--positive) 22%, transparent);
    color: color-mix(in oklab, var(--positive) 85%, var(--ink) 15%);
  }

  .badge[data-variant="error"] {
    background: color-mix(in oklab, var(--danger) 22%, transparent);
    color: color-mix(in oklab, var(--danger) 85%, var(--ink) 15%);
  }

  .badge[data-variant="warning"] {
    background: color-mix(in oklab, var(--warning) 22%, transparent);
    color: color-mix(in oklab, var(--warning) 80%, var(--ink) 20%);
  }
}

/* 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);
  }

  .FormField-error {
    color: var(--danger);
  }

  .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 oklab, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklab, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklab, 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 oklab, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklab, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklab, 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 oklab, var(--danger) 65%, transparent));
    --input-border-hover: var(--input-border-error-hover, color-mix(in oklab, var(--danger) 80%, transparent));
    --checkbox-border: var(--checkbox-border-error, color-mix(in oklab, 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 oklab, var(--line) 55%, transparent);
  }

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

  .scroll-area-corner {
    background: color-mix(in oklab, 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;
    z-index: 1;
    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);
    position: absolute;
    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;
    --surface-bg: var(--alert-bg, var(--surface-alt));
    --surface-radius: var(--radius-lg);
    --surface-shadow: none;
    background: var(--surface-bg);
    color: var(--alert-fg, var(--ink));
    border: 1px solid var(--alert-border, var(--line));
    border-radius: var(--surface-radius);
    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 oklab, 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/auth.css */
@keyframes auth-loader-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@layer components {
  :where(.auth-loading) {
    display: grid;
    background: var(--surface);
    place-items:  center;
    min-height: 100vh;
  }

  .auth-loading__icon {
    color: var(--muted);
    animation: auth-loader-spin 1.5s linear infinite;
    block-size: 2.5rem;
    inline-size: 2.5rem;
  }

  :where(.auth-gate) {
    display: grid;
    padding: var(--space-xl) var(--space-lg);
    background: linear-gradient(135deg, color-mix(in oklab, var(--surface) 95%, transparent), transparent), radial-gradient(circle at top left, color-mix(in oklab, var(--accent) 18%, transparent), transparent 55%);
    place-items:  center;
    min-height: 100vh;
  }

  :where(.auth-card) {
    box-shadow: var(--shadow-lg);
    width: min(420px, 100%);
  }

  .auth-card__loading {
    display: grid;
    place-items:  center;
    gap: var(--space-sm);
    padding-block: var(--space-xl);
    color: var(--muted);
  }

  :where(.auth-form) {
    display: grid;
    gap: var(--space-lg);
  }

  :where(.auth-field) {
    display: grid;
    gap: var(--space-xs);
  }

  :where(.auth-actions) {
    display: grid;
    gap: var(--space-sm);
  }

  :where(.auth-link) {
    margin-inline-start: var(--space-xs);
    font-weight: 600;
  }

  :where(.auth-error) {
    color: var(--danger);
    font-size: var(--text-base);
  }

  :where(.auth-notice) {
    color: var(--muted);
    font-size: var(--text-base);
  }

  :where(.auth-denied) {
    display: flex;
    text-align: center;
    align-items:  center;
    gap: var(--space-md);
    flex-direction: column;
    max-inline-size: 320px;
  }

  .auth-denied__icon {
    display: grid;
    border-radius: var(--radius-full);
    background: color-mix(in oklab, var(--danger) 12%, transparent);
    color: var(--danger);
    place-items:  center;
    block-size: 4rem;
    inline-size: 4rem;
  }

  .auth-denied__icon svg {
    block-size: 2rem;
    inline-size: 2rem;
  }

  .auth-denied__title {
    font-size: var(--text-xl);
    color: var(--ink);
    margin: 0;
    font-weight: 600;
  }

  .auth-denied__description {
    font-size: var(--text-lg);
    color: var(--muted);
    margin: 0;
  }

  .auth-denied__help {
    font-size: var(--text-base);
    color: var(--muted);
    margin: 0;
    margin-block-end: var(--space-sm);
  }

  :where(.auth-email-display) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  .auth-email-display__value {
    color: var(--muted);
    font-size: var(--text-base);
    flex: 1;
  }

  :where(.auth-email-change) {
    display: grid;
    gap: var(--space-sm);
  }

  :where(.auth-password-change) {
    display: grid;
    gap: var(--space-sm);
  }

  .auth-email-change__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
  }

  :where(.auth-tabs-list) {
    width: 100%;
    margin-block-end: var(--space-lg);
  }

  .auth-tabs-list [data-slot="tabs-trigger"] {
    flex: 1;
  }

  :where(.auth-magic-link-sent) {
    display: grid;
    gap: var(--space-md);
    text-align: center;
    padding-block: var(--space-lg);
  }

  .auth-magic-link-sent .auth-notice {
    margin: 0;
  }
}

/* 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;
    list-style: none;
    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 {
    color: var(--ink);
    text-decoration: none;
    transition: color var(--duration);
  }

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

  .breadcrumb-page {
    display: inline-flex;
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    background: color-mix(in oklab, var(--surface) 90%, var(--accent));
    color: var(--accent);
    border-radius: var(--radius-full);
    align-items:  center;
    font-weight: 500;
    line-height: 1;
  }

  .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/content-breadcrumb.css */
@layer components {
  @keyframes content-breadcrumb-fade-in {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }

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

  .ContentBreadcrumb {
    animation: content-breadcrumb-fade-in .15s ease-out;
    margin-block-end: var(--space-md);
  }
}

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

  to {
    opacity: 1;
    scale: 1;
  }
}

@keyframes tooltip-out {
  from {
    opacity: 1;
    scale: 1;
  }

  to {
    opacity: 0;
    scale: .96;
  }
}

@layer components {
  .tooltip-root {
    position: relative;
    display: inline-flex;
  }

  .tooltip-positioner {
    position: absolute;
    z-index: var(--z-overlay);
    pointer-events: none;
  }

  .tooltip-positioner[data-side="top"] {
    padding-block-end: var(--tooltip-offset, 6px);
    bottom: 100%;
    translate: -50%;
  }

  .tooltip-positioner[data-side="top"]: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: 50%;
  }

  .tooltip-positioner[data-side="top"]: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: 50%;
  }

  .tooltip-positioner[data-side="top"]: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: 50%;
  }

  .tooltip-positioner[data-side="top"]:-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: 50%;
  }

  .tooltip-positioner[data-side="top"]:-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: 50%;
  }

  .tooltip-positioner[data-side="top"]: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: 50%;
  }

  .tooltip-positioner[data-side="bottom"] {
    padding-block-start: var(--tooltip-offset, 6px);
    top: 100%;
    translate: -50%;
  }

  .tooltip-positioner[data-side="bottom"]: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: 50%;
  }

  .tooltip-positioner[data-side="bottom"]: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: 50%;
  }

  .tooltip-positioner[data-side="bottom"]: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: 50%;
  }

  .tooltip-positioner[data-side="bottom"]:-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: 50%;
  }

  .tooltip-positioner[data-side="bottom"]:-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: 50%;
  }

  .tooltip-positioner[data-side="bottom"]: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: 50%;
  }

  .tooltip-positioner[data-side="left"] {
    padding-inline-end: var(--tooltip-offset, 6px);
    top: 50%;
    translate: 0 -50%;
  }

  .tooltip-positioner[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))) {
    right: 100%;
  }

  .tooltip-positioner[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))) {
    right: 100%;
  }

  .tooltip-positioner[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))) {
    right: 100%;
  }

  .tooltip-positioner[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)) {
    left: 100%;
  }

  .tooltip-positioner[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)) {
    left: 100%;
  }

  .tooltip-positioner[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)) {
    left: 100%;
  }

  .tooltip-positioner[data-side="right"] {
    padding-inline-start: var(--tooltip-offset, 6px);
    top: 50%;
    translate: 0 -50%;
  }

  .tooltip-positioner[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))) {
    left: 100%;
  }

  .tooltip-positioner[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))) {
    left: 100%;
  }

  .tooltip-positioner[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))) {
    left: 100%;
  }

  .tooltip-positioner[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)) {
    right: 100%;
  }

  .tooltip-positioner[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)) {
    right: 100%;
  }

  .tooltip-positioner[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)) {
    right: 100%;
  }

  .tooltip {
    pointer-events: auto;
    background-color: var(--surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
    color: var(--ink);
    text-wrap: balance;
    animation: tooltip-in var(--duration) var(--ease);
    inline-size: max-content;
    max-inline-size: 20rem;
  }

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

  .tooltip[data-side="top"] {
    transform-origin: bottom center;
  }

  .tooltip[data-side="bottom"] {
    transform-origin: top center;
  }

  .tooltip[data-side="left"] {
    transform-origin: center right;
  }

  .tooltip[data-side="right"] {
    transform-origin: center left;
  }

  .tooltip-arrow {
    background: var(--surface);
    z-index: var(--z-overlay);
    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 oklab, var(--accent) 50%, transparent);
  }

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

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

  .item[data-variant="muted"] {
    background: color-mix(in oklab, 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 {
  :where(.ErrorBoundary) {
    display: flex;
    padding: var(--space-lg);
    justify-content: center;
    align-items:  center;
    min-block-size: 50vh;
  }

  .ErrorBoundary-card {
    inline-size: 100%;
    max-inline-size: 32rem;
  }

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

  .ErrorBoundary-iconWrapper {
    border-radius: var(--radius-full);
    background: color-mix(in oklab, var(--danger) 15%, transparent);
    padding: var(--space-sm);
  }

  .ErrorBoundary-icon {
    block-size: var(--text-2xl);
    inline-size: var(--text-2xl);
    color: var(--danger);
  }

  .ErrorBoundary-titleWrapper {
    display: flex;
    flex-direction: column;
  }

  .ErrorBoundary-title {
    color: var(--ink);
  }

  .ErrorBoundary-description {
    color: var(--muted);
  }

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

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

  .ErrorBoundary-detailSection {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
  }

  .ErrorBoundary-detailTitle {
    font-size: var(--text-sm);
    color: var(--muted);
    font-weight: 600;
  }

  .ErrorBoundary-codeBlock {
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    padding: var(--space-sm);
  }

  .ErrorBoundary-code {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--danger);
    word-break: break-word;
  }

  .ErrorBoundary-stackTrace {
    overflow: auto;
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    padding: var(--space-sm);
    max-block-size: 12rem;
  }

  .ErrorBoundary-pre {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--muted);
    white-space: pre-wrap;
    word-break: break-word;
  }

  .ErrorBoundary-buttonGroup {
    display: flex;
    gap: var(--space-sm);
  }

  .ErrorBoundary-button {
    flex: 1;
  }

  .ErrorBoundary-buttonIcon {
    block-size: var(--text-lg);
    inline-size: var(--text-lg);
    margin-inline-end: var(--space-xs);
  }

  .ErrorBoundary-footer {
    text-align: center;
    font-size: var(--text-sm);
    color: var(--muted);
  }
}

/* packages/ui/src/styles/blocks/not-found.css */
@layer components {
  :where(.NotFound) {
    display: flex;
    padding: var(--space-lg);
    justify-content: center;
    align-items:  center;
    min-block-size: 50vh;
  }

  .NotFound-card {
    inline-size: 100%;
    max-inline-size: 28rem;
  }

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

  .NotFound-iconWrapper {
    border-radius: var(--radius-full);
    background: color-mix(in oklab, var(--accent) 15%, transparent);
    padding: var(--space-sm);
  }

  .NotFound-icon {
    block-size: var(--text-2xl);
    inline-size: var(--text-2xl);
    color: var(--accent);
  }

  .NotFound-titleWrapper {
    display: flex;
    flex-direction: column;
  }

  .NotFound-title {
    color: var(--ink);
  }

  .NotFound-description {
    color: var(--muted);
  }

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

  .NotFound-buttonGroup {
    display: flex;
    gap: var(--space-sm);
  }

  .NotFound-button {
    flex: 1;
  }

  .NotFound-buttonIcon {
    block-size: var(--text-lg);
    inline-size: var(--text-lg);
    margin-inline-end: var(--space-xs);
  }
}

/* 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);
    white-space: nowrap;
    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);
    --surface-shadow: var(--shadow-lg);
    background: var(--surface-bg, var(--surface));
    border-radius: var(--surface-radius, var(--radius-lg));
    box-shadow: var(--surface-shadow);
    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 */
@media (prefers-reduced-motion: no-preference) {
  @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-family: var(--font-body);
    font-size: var(--text-xl);
    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 */
@media (prefers-reduced-motion: no-preference) {
  @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));
    inline-size: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  @media (prefers-reduced-motion: no-preference) {
    .dialog-popup {
      transition: opacity var(--duration) var(--ease), filter var(--duration) var(--ease), scale var(--duration) var(--ease);
    }
  }

  .dialog-popup:has( ~ .dialog-backdrop) {
    opacity: .4;
    filter: blur(2px);
    pointer-events: none;
    scale: .97;
  }

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

  @media (prefers-reduced-motion: no-preference) {
    .dialog-close {
      transition: opacity var(--duration) var(--ease);
    }
  }

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

  .dialog-close:focus-visible {
    opacity: 1;
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    background-color: var(--surface-alt);
    color: var(--ink);
  }

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

  .dialog-body {
    display: flex;
    gap: var(--dialog-body-gap, var(--space-md));
    padding-block: var(--dialog-body-padding-block, var(--space-lg));
    padding-inline: var(--dialog-body-padding-inline, var(--space-lg));
    flex-direction: column;
    flex: 1;
  }

  .dialog-body--padding-none {
    --dialog-body-gap: 0px;
    --dialog-body-padding-block: 0px;
    --dialog-body-padding-inline: 0px;
  }

  .dialog-body--padding-compact {
    --dialog-body-gap: var(--space-sm);
    --dialog-body-padding-block: var(--space-md);
    --dialog-body-padding-inline: var(--space-md);
  }

  .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-family: var(--font-body);
    font-size: var(--text-xl);
    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 */
::view-transition-old(sheet-backdrop) {
  animation: sheet-fade-out .25s var(--ease) both;
}

::view-transition-new(sheet-backdrop) {
  animation: sheet-fade-in .25s var(--ease) both;
}

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

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

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

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

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

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

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

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

@layer components {
  .sheet-backdrop {
    position: fixed;
    z-index: var(--z-overlay);
    view-transition-name: sheet-backdrop;
    background-color: #00000080;
    inset: 0;
  }

  .sheet-content {
    position: fixed;
    z-index: var(--z-modal);
    display: flex;
    gap: var(--space-sm);
    --surface-shadow: var(--shadow-lg);
    --surface-radius: 0;
    background-color: var(--surface-bg, var(--surface));
    box-shadow: var(--surface-shadow);
    flex-direction: column;
  }

  .sheet-content[data-side="right"] {
    border-inline-start: 1px solid var(--line);
    view-transition-name: sheet-right;
    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);
    view-transition-name: sheet-left;
    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);
    view-transition-name: sheet-top;
    block-size: auto;
    top: 0;
    left: 0;
    right: 0;
  }

  .sheet-content[data-side="bottom"] {
    border-block-start: 1px solid var(--line);
    view-transition-name: sheet-bottom;
    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: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);
  }
}

@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%);
    opacity: 1;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* 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, .dropdown-menu-sub-content {
    --surface-radius: var(--radius-md);
    background-color: var(--surface);
    border-radius: var(--surface-radius);
    box-shadow: var(--surface-shadow);
    color: var(--ink);
    padding: var(--space-xs);
    transform-origin: var(--transform-origin);
    min-inline-size: 8rem;
  }

  .dropdown-menu-content {
    max-block-size: var(--available-height, 25rem);
    overflow: visible;
  }

  .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;
    inline-size: 100%;
  }

  .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:hover {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dropdown-menu-item:focus {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .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"]:hover {
    background-color: color-mix(in oklab, var(--danger) 15%, var(--paper));
    color: var(--danger);
  }

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

  .dropdown-menu-item[data-variant="destructive"][data-highlighted] {
    background-color: color-mix(in oklab, 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;
    inline-size: 100%;
    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):hover {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

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

  :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;
    inline-size: 100%;
  }

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

  .dropdown-menu-sub-trigger:hover {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .dropdown-menu-sub-trigger:focus {
    background-color: var(--surface-alt);
    color: var(--ink);
  }

  .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;
  }

  [data-slot="dropdown-menu-sub"] {
    position: relative;
  }

  .dropdown-menu-sub-content {
    z-index: var(--z-overlay);
    overflow: hidden;
    animation: dropdown-menu-in var(--duration) var(--ease);
  }

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

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

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

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

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

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

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

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

  :where(.picker-trigger) {
    display: inline-flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-sm);
    min-inline-size: 10rem;
  }

  :where(.picker-trigger) .picker-trigger-icon {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    color: var(--muted);
    transition: transform var(--duration) var(--ease);
    flex-shrink: 0;
  }

  .picker[data-open] .picker-trigger-icon {
    transform: rotate(180deg);
  }

  :where(.picker-value) {
    text-align: start;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
  }

  .picker-value[data-placeholder] {
    color: var(--muted);
  }

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

  :where(.picker-content) {
    --surface-radius: var(--radius-md);
    max-block-size: var(--available-height, 20rem);
    overflow-y: auto;
    background-color: var(--surface);
    border-radius: var(--surface-radius);
    box-shadow: var(--surface-shadow);
    color: var(--ink);
    padding: var(--space-xs);
    min-inline-size: 10rem;
  }

  :where(.picker-search) {
    position: sticky;
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs);
    background: var(--surface);
    margin-block-end: var(--space-xs);
    top: 0;
  }

  :where(.picker-search-icon) {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    color: var(--muted);
    flex-shrink: 0;
  }

  :where(.picker-search-input) {
    padding-inline: var(--space-sm);
    padding-block: var(--space-xs);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    flex: 1;
  }

  :where(.picker-search-input):focus {
    outline: none;
    border-color: var(--line-strong, var(--line));
    box-shadow: 0 0 0 1px var(--line);
  }

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

  :where(.picker-option) {
    position: relative;
    display: grid;
    grid-template-columns: var(--space-md) 1fr;
    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;
    text-align: start;
    color: inherit;
    background: none;
    border: none;
    align-items:  center;
    inline-size: 100%;
  }

  :where(.picker-option)[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  :where(.picker-option):hover {
    background-color: var(--surface-alt);
  }

  :where(.picker-option):focus {
    background-color: var(--surface-alt);
  }

  :where(.picker-option)[data-highlighted] {
    background-color: var(--surface-alt);
  }

  :where(.picker-option)[data-selected] {
    font-weight: 500;
  }

  :where(.picker-option) svg:not(.picker-option-indicator svg) {
    color: var(--muted);
    pointer-events: none;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }

  :where(.picker-option-indicator) {
    display: flex;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    justify-content: center;
    align-items:  center;
  }

  :where(.picker-option-indicator) svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }

  :where(.picker-group) + .picker-group {
    margin-block-start: var(--space-xs);
  }

  :where(.picker-group-label) {
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--muted);
    font-weight: 600;
  }

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

  :where(.picker-empty) {
    padding: var(--space-md);
    text-align: center;
    color: var(--muted);
    font-size: var(--text-sm);
  }
}

/* packages/ui/src/styles/blocks/tag-input.css */
@layer components {
  .TagInput {
    position: relative;
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    min-block-size: var(--input-size, 2.5rem);
    padding-inline: var(--input-px, var(--space-sm));
    padding-block: var(--space-xs);
    background: var(--input-bg, var(--paper));
    border: 1px solid var(--input-border, var(--line));
    border-radius: var(--input-radius, var(--radius-md));
    cursor: text;
    transition: border-color var(--duration) var(--ease);
    flex-wrap: wrap;
  }

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

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

  .TagInput[data-disabled] {
    opacity: .5;
    cursor: not-allowed;
    background: var(--surface);
  }

  .TagInput-tag {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    background: var(--surface);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--ink);
    white-space: nowrap;
    padding-block-start: 2px;
    padding-block-end: 2px;
    padding-inline-start: var(--space-sm);
    padding-inline-end: var(--space-xs);
  }

  .TagInput-remove {
    display: inline-flex;
    border-radius: var(--radius-full);
    color: var(--muted);
    cursor: pointer;
    transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    padding: 2px;
  }

  .TagInput-remove:hover {
    background: color-mix(in oklab, var(--ink) 10%, transparent);
    color: var(--ink);
  }

  .TagInput-remove:focus {
    outline: none;
    background: color-mix(in oklab, var(--ink) 10%, transparent);
  }

  .TagInput-input {
    outline: none;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--ink);
    background: none;
    border: none;
    flex: 8ch;
    min-inline-size: 8ch;
    padding: 0;
  }

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

  .TagInput-input:disabled {
    cursor: not-allowed;
  }

  .TagInput-suggestions {
    position: absolute;
    z-index: 50;
    padding: var(--space-xs);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    list-style: none;
    overflow-y: auto;
    max-block-size: 12rem;
    margin-block-start: var(--space-xs);
    top: 100%;
    left: 0;
    right: 0;
  }

  .TagInput-suggestions li {
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: background-color var(--duration) var(--ease);
  }

  .TagInput-suggestions li:hover {
    background: var(--surface);
  }

  .TagInput-suggestions li[data-focused] {
    background: var(--surface);
  }
}

/* packages/ui/src/styles/blocks/nav-main.css */
@layer components {
  :where(.nav-main-row) {
    display: flex;
    border-radius: var(--radius-sm);
    transition: background-color .15s var(--ease), color .15s var(--ease);
    align-items:  center;
    gap: 0;
  }

  .nav-main-row:hover:not(:has([data-active="true"])) {
    background-color: color-mix(in oklab, var(--surface) 90%, var(--ink));
  }

  .nav-main-row:has([data-active="true"]) {
    background-color: color-mix(in oklab, var(--surface) 90%, var(--accent));
  }

  .nav-main-row:has([data-active="true"]) .nav-main-link {
    color: var(--accent);
  }

  .nav-main-row:has([data-active="true"]) .nav-main-chevron-button {
    color: var(--accent);
  }

  :where(.nav-main-link) {
    text-decoration: none;
    flex: 1;
    min-inline-size: 0;
  }

  .nav-main-row .nav-main-link {
    --button-bg: transparent;
    --button-bg-hover: transparent;
    background: none;
    flex: 1;
    inline-size: auto;
  }

  .nav-main-row .nav-main-link:hover {
    background: none;
  }

  .nav-main-row .nav-main-link:hover:not([data-active="true"]) {
    background: none;
  }

  .nav-main-row .nav-main-link[data-active="true"] {
    background: none;
  }

  .sidebar-menu-button.nav-main-link > svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.nav-main-chevron) {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    transition: transform var(--duration) var(--ease);
    flex-shrink: 0;
  }

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

  .collapsible-trigger.nav-main-chevron-button {
    position: relative;
    display: flex;
    padding-block: var(--space-sm);
    padding-inline: var(--space-md);
    border-radius: var(--radius-sm);
    color: color-mix(in oklab, var(--ink) 50%, transparent);
    background: none;
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
  }

  .nav-main-chevron-button:before {
    content: "";
    position: absolute;
    background: color-mix(in oklab, var(--ink) 10%, transparent);
    inline-size: 1px;
    top: 6px;
    bottom: 6px;
  }

  .nav-main-chevron-button: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))):before {
    left: 0;
  }

  .nav-main-chevron-button: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))):before {
    left: 0;
  }

  .nav-main-chevron-button: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))):before {
    left: 0;
  }

  .nav-main-chevron-button:-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)):before {
    right: 0;
  }

  .nav-main-chevron-button:-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)):before {
    right: 0;
  }

  .nav-main-chevron-button: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)):before {
    right: 0;
  }

  .nav-main-row:has([data-active="true"]) .nav-main-chevron-button:before {
    background: color-mix(in oklab, var(--accent) 20%, transparent);
  }

  .nav-main-chevron-button:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
    outline: none;
  }

  .collapsible:has(.nav-main-row) .sidebar-submenu {
    border-left: none;
  }

  :where(.nav-main-subroot-header) {
    margin-block-end: var(--space-xs);
    padding-block-end: var(--space-xs);
  }

  .nav-main-menu .sidebar-menu-button, .nav-main-menu .sidebar-submenu-button {
    min-block-size: 2.25rem;
  }

  .nav-main-menu {
    opacity: 0;
    transition: opacity .15s ease-out;
  }

  .nav-main-menu[data-ready] {
    opacity: 1;
  }

  .nav-main-menu[data-animate="enter"] {
    animation: nav-main-slide-in .2s ease-out;
  }

  .nav-main-menu[data-animate="exit"] {
    animation: nav-main-slide-out .2s ease-out;
  }

  @keyframes nav-main-slide-in {
    from {
      opacity: 0;
      transform: translateX(var(--space-lg));
    }

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

  @keyframes nav-main-slide-out {
    from {
      opacity: 0;
      transform: translateX(calc(-1 * var(--space-lg)));
    }

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

  :where(.nav-main-empty) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-block: var(--space-xl);
    padding-inline: var(--space-md);
    color: color-mix(in oklab, var(--ink) 35%, transparent);
    text-align: center;
    flex-direction: column;
  }

  :where(.nav-main-empty) > svg {
    opacity: .6;
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  :where(.nav-main-empty) > span {
    font-size: var(--text-sm);
  }
}

/* packages/ui/src/styles/blocks/nav-user.css */
@layer components {
  .nav-user-row {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xs);
    inline-size: 100%;
  }

  .nav-user-avatar {
    flex-shrink: 0;
  }

  .nav-user-trigger-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: start;
    font-size: var(--text-sm);
    color: var(--muted);
    flex: 1;
    font-weight: 400;
  }

  .nav-user-menu-trigger {
    color: var(--muted);
    flex-shrink: 0;
  }

  .nav-user-menu-trigger:hover {
    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-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;
  }

  .nav-user-trigger--signin, .nav-user-trigger--guest {
    gap: var(--space-sm);
  }

  .nav-user-signin-icon, .nav-user-settings-icon {
    color: var(--muted);
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  .nav-user-signin-label, .nav-user-settings-label {
    text-align: start;
    font-size: var(--text-sm);
    flex: 1;
    font-weight: 500;
  }

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

/* packages/ui/src/styles/blocks/page-actions.css */
@layer components {
  [data-slot="page-actions-trigger"] {
    --button-size: 1.75rem;
    color: var(--muted);
  }

  [data-slot="page-actions-trigger"]:hover {
    color: var(--ink);
  }

  [data-slot="page-actions-trigger"] svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }

  [data-slot="page-actions-menu"] {
    white-space: nowrap;
  }

  [data-slot="page-actions-menu"] [data-slot="dropdown-menu-item"] svg {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    flex-shrink: 0;
  }
}

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

  to {
    opacity: 1;
  }
}

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

  to {
    opacity: 0;
  }
}

@keyframes sidebar-slide-in-left {
  from {
    opacity: 0;
    transform: translateX(calc(-1 * (var(--sidebar-width, 20rem)  + var(--sidebar-offset))));
  }

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

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

  to {
    opacity: 0;
    transform: translateX(calc(-1 * (var(--sidebar-width, 20rem)  + var(--sidebar-offset))));
  }
}

@keyframes sidebar-slide-in-right {
  from {
    opacity: 0;
    transform: translateX(calc(var(--sidebar-width, 20rem)  + var(--sidebar-offset)));
  }

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

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

  to {
    opacity: 0;
    transform: translateX(calc(var(--sidebar-width, 20rem)  + var(--sidebar-offset)));
  }
}

@layer components {
  ::view-transition-old(.sidebar-left) {
    animation: sidebar-slide-out-left .22s ease;
    animation-fill-mode: both;
  }

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

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

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

  .sidebar-wrapper {
    --sidebar-offset: clamp(var(--space-xs), 1.5vw, 1.25rem);
    --sidebar-radius: clamp(var(--space-sm), 2vw, 1.25rem);
    --sidebar-card-bg: color-mix(in oklab, var(--surface) 78%, transparent);
    --sidebar-card-shadow: var(--shadow-card);
    --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));
    padding: var(--sidebar-container-padding);
    --surface-bg: var(--sidebar-card-bg);
    --surface-shadow: var(--sidebar-card-shadow);
    --surface-radius: var(--sidebar-radius);
    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)));
    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 {
    --surface-bg: color-mix(in oklab, var(--surface) 72%, transparent);
  }

  .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: visible;
    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-collapse {
    flex-shrink: 0;
  }

  .sidebar-floating-trigger {
    --button-size: 1rem;
    position: fixed;
    z-index: var(--z-raised);
    background: color-mix(in oklab, var(--surface) 80%, transparent);
    backdrop-filter: blur(.5rem) saturate(1.2);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    box-shadow: var(--shadow-sm);
    block-size: 2.5rem;
    inline-size: 1.25rem;
    transition: opacity .18s, inline-size .18s, background-color .15s;
    top: 2.5rem;
    left: 0;
  }

  .sidebar-floating-trigger svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  .sidebar-floating-trigger[data-mobile="true"] {
    block-size: 3rem;
    inline-size: 1.5rem;
  }

  .sidebar-floating-trigger:hover {
    background: var(--surface);
    --button-size: 1.25rem;
  }

  .sidebar-floating-trigger:active {
    inline-size: 1.25rem;
  }

  .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-rule {
    --_rule-bleed: var(--sidebar-section-padding, var(--space-sm));
    background-color: color-mix(in oklab, var(--line) 50%, transparent);
    border: none;
    block-size: 1px;
    inline-size: 100%;
    margin: 0;
  }

  .sidebar-rule[data-bleed="true"] {
    margin-inline: calc(-3 * var(--_rule-bleed));
    inline-size: calc(100% + (var(--_rule-bleed) * 6));
  }

  .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 oklab, 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 oklab, 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-base);
    line-height: var(--leading-normal);
    outline: none;
    text-decoration: none;
    --button-bg: transparent;
    --button-bg-hover: color-mix(in oklab, var(--surface) 90%, var(--ink));
    inline-size: 100%;
  }

  .sidebar-menu-button[data-active="true"] {
    --button-bg: color-mix(in oklab, var(--surface) 90%, var(--accent));
    --button-fg: var(--accent);
    --button-bg-hover: color-mix(in oklab, var(--surface) 90%, var(--accent));
    font-weight: 500;
  }

  .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[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 oklab, 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 oklab, 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 color-mix(in oklab, var(--line) 40%, transparent);
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    min-inline-size: 0;
    margin-inline-start: var(--space-xs);
    padding-block-start: 2px;
    padding-block-end: 2px;
    padding-inline-start: .5rem;
    translate: 1px;
  }

  .sidebar-submenu[data-level="2"], .sidebar-submenu[data-level="3"], .sidebar-submenu[data-level="4"] {
    margin-inline-start: calc(var(--space-xs)  + 2px);
  }

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

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

  .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: var(--space-sm);
    outline: none;
    text-decoration: none;
    min-inline-size: 0;
    transition: background-color .15s, color .15s;
  }

  .sidebar-submenu-button:hover:not([data-active="true"]) {
    background-color: color-mix(in oklab, var(--surface) 90%, var(--ink));
  }

  .sidebar-submenu-button[data-active="true"] {
    background-color: color-mix(in oklab, var(--surface) 90%, var(--accent));
    color: var(--accent);
  }

  .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);
    flex-shrink: 0;
  }

  .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 {
    color: var(--ink);
    inline-size: min(var(--sidebar-width), 100%);
    padding: var(--sidebar-container-padding, 0);
    --surface-bg: var(--surface);
    --surface-shadow: 0 calc(var(--space-xs) * -1) var(--space-lg) calc(var(--space-md) * -1) #0f172a59;
    --surface-radius: 0;
  }

  .sidebar-sheet: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))) {
    border-top-left-radius: var(--sidebar-radius);
    border-top-left-radius: var(--sidebar-radius);
  }

  .sidebar-sheet: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))) {
    border-top-left-radius: var(--sidebar-radius);
    border-top-left-radius: var(--sidebar-radius);
  }

  .sidebar-sheet: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))) {
    border-top-left-radius: var(--sidebar-radius);
    border-top-left-radius: var(--sidebar-radius);
  }

  .sidebar-sheet:-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)) {
    border-top-right-radius: var(--sidebar-radius);
    border-top-right-radius: var(--sidebar-radius);
  }

  .sidebar-sheet:-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)) {
    border-top-right-radius: var(--sidebar-radius);
    border-top-right-radius: var(--sidebar-radius);
  }

  .sidebar-sheet: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)) {
    border-top-right-radius: var(--sidebar-radius);
    border-top-right-radius: var(--sidebar-radius);
  }

  .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%;
  }

  .truncated-flyout {
    pointer-events: auto;
    animation: flyout-fade-in .15s ease;
    width: max-content;
    max-width: 20rem;
  }

  .truncated-flyout .sidebar-menu-button, .truncated-flyout .sidebar-submenu-button {
    background: color-mix(in oklab, var(--surface) 85%, var(--ink));
    box-shadow: var(--shadow-md);
    border-radius: var(--radius-sm);
    width: max-content;
    min-width: 100%;
    min-height: 2.25rem;
  }

  .truncated-flyout .sidebar-menu-button[data-active="true"], .truncated-flyout .sidebar-submenu-button[data-active="true"] {
    background: color-mix(in oklab, var(--surface) 90%, var(--accent));
    color: var(--accent);
  }

  .truncated-flyout .sidebar-menu-button > span:last-child, .truncated-flyout .sidebar-submenu-button > span:last-child {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
  }

  @keyframes flyout-fade-in {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .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 oklab, 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-sidebar-header {
    padding-block: var(--space-xs);
  }

  .app-shell-sidebar-header-row {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  .app-shell-sidebar-header-row > .sidebar-menu-button {
    flex: 1;
    min-inline-size: 0;
  }

  .app-shell-collapse {
    opacity: .7;
    transition: opacity .15s;
  }

  .app-shell-collapse:hover {
    opacity: 1;
  }

  .app-shell-sidebar-status {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: color-mix(in oklab, var(--surface) 50%, transparent);
  }

  .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;
    color: var(--accent);
    justify-content: center;
    align-items:  center;
    block-size: 2rem;
    inline-size: 2rem;
  }

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

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

  .app-shell-sidebar-header-row .sidebar-menu-button:where(:hover, :active) {
    background-color: #0000;
  }

  .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 oklab, 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 oklab, var(--line) 40%, transparent);
    margin-top: auto;
  }
}

/* packages/ui/src/styles/blocks/app-loading.css */
@keyframes app-loading-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@layer components {
  .app-loading-overlay {
    position: fixed;
    z-index: 9999;
    display: grid;
    background: var(--surface);
    opacity: 1;
    place-items:  center;
    transition: opacity .3s ease-out;
    inset: 0;
  }

  .app-loading-overlay[data-fading] {
    opacity: 0;
    pointer-events: none;
  }

  .app-loading-overlay__icon {
    color: var(--text-muted);
    animation: app-loading-spin 1.5s linear infinite;
    block-size: 2.5rem;
    inline-size: 2.5rem;
  }
}

/* packages/ui/src/styles/blocks/markdown.css */
@layer components {
  :where(.Markdown) {
    --prose-max-width: 75ch;
    max-inline-size: var(--prose-max-width);
    color: var(--ink);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
  }

  :where(.Markdown) :-webkit-any(h1, h2, h3, h4, h5, h6) {
    line-height: var(--leading-snug);
    letter-spacing: -.02em;
    margin-block-start: 1.5em;
    margin-block-end: .5em;
    scroll-margin-block-start: var(--space-lg);
    font-weight: 600;
  }

  :where(.Markdown) :-moz-any(h1, h2, h3, h4, h5, h6) {
    line-height: var(--leading-snug);
    letter-spacing: -.02em;
    margin-block-start: 1.5em;
    margin-block-end: .5em;
    scroll-margin-block-start: var(--space-lg);
    font-weight: 600;
  }

  :where(.Markdown) :is(h1, h2, h3, h4, h5, h6) {
    line-height: var(--leading-snug);
    letter-spacing: -.02em;
    margin-block-start: 1.5em;
    margin-block-end: .5em;
    scroll-margin-block-start: var(--space-lg);
    font-weight: 600;
  }

  :where(.Markdown) h1 {
    font-size: var(--text-4xl);
    margin-block-start: 0;
  }

  :where(.Markdown) h2 {
    font-size: var(--text-2xl);
    border-block-end: 1px solid var(--line);
    padding-block-end: var(--space-xs);
  }

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

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

  :where(.Markdown) p {
    margin-block-start: 1em;
    margin-block-end: 1em;
  }

  :where(.Markdown) > :first-child {
    margin-block-start: 0;
  }

  :where(.Markdown) > :last-child {
    margin-block-end: 0;
  }

  :where(.Markdown) a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .15s;
  }

  :where(.Markdown) a:hover {
    color: var(--accent-hover);
  }

  :where(.Markdown) code:not(pre code) {
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
    font-size: .875em;
    font-family: var(--font-mono);
    padding-block-start: .125em;
    padding-block-end: .125em;
    padding-inline-start: .375em;
    padding-inline-end: .375em;
  }

  :where(.Markdown) pre {
    padding: var(--space-md);
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    overflow-x: auto;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    margin-block-start: 1.5em;
    margin-block-end: 1.5em;
  }

  :where(.Markdown) pre code {
    font-size: inherit;
    background: none;
    border-radius: 0;
    padding: 0;
  }

  :where(.Markdown) .shiki {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    overflow-x: auto;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    margin-block-start: 1.5em;
    margin-block-end: 1.5em;
  }

  :where(.Markdown) .shiki code {
    background: none;
    padding: 0;
  }

  :where(.Markdown) blockquote {
    border-inline-start: 3px solid var(--accent);
    color: var(--muted);
    margin-block-start: 1.5em;
    margin-block-end: 1.5em;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: var(--space-md);
    font-style: italic;
  }

  :where(.Markdown) blockquote p {
    margin-block-start: .5em;
    margin-block-end: .5em;
  }

  :where(.Markdown) ul {
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 1.5em;
  }

  :where(.Markdown) ol {
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 1.5em;
  }

  :where(.Markdown) li {
    margin-block-start: .375em;
    margin-block-end: .375em;
  }

  :where(.Markdown) li > ul {
    margin-block-start: .25em;
    margin-block-end: .25em;
  }

  :where(.Markdown) li > ol {
    margin-block-start: .25em;
    margin-block-end: .25em;
  }

  :where(.Markdown) ul {
    list-style-type: disc;
  }

  :where(.Markdown) ul ul {
    list-style-type: circle;
  }

  :where(.Markdown) ol {
    list-style-type: decimal;
  }

  :where(.Markdown) .Markdown-table-wrapper {
    overflow-x: auto;
    margin-block-start: 1.5em;
    margin-block-end: 1.5em;
  }

  :where(.Markdown) table {
    border-collapse: collapse;
    font-size: var(--text-sm);
    inline-size: 100%;
  }

  :where(.Markdown) th {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--line);
    text-align: start;
  }

  :where(.Markdown) td {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--line);
    text-align: start;
  }

  :where(.Markdown) th {
    background: var(--surface-alt);
    font-weight: 600;
  }

  :where(.Markdown) tr:nth-child(2n) td {
    background: color-mix(in oklab, var(--surface-alt) 50%, transparent);
  }

  :where(.Markdown) hr {
    border: none;
    border-block-start: 1px solid var(--line);
    margin-block-start: 2em;
    margin-block-end: 2em;
  }

  :where(.Markdown) img {
    border-radius: var(--radius-md);
    block-size: auto;
    max-inline-size: 100%;
  }

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

  :where(.Markdown) em {
    font-style: italic;
  }
}

/* packages/ui/src/styles/blocks/callout.css */
@layer components {
  :where(.Callout) {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--callout-bg, var(--surface-alt));
    border-radius: var(--radius-md);
    border-inline-start: 3px solid var(--callout-accent, var(--accent));
    margin-block-start: 1.5em;
    margin-block-end: 1.5em;
  }

  :where(.Callout-icon) {
    color: var(--callout-accent, var(--accent));
    flex-shrink: 0;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  :where(.Callout-content) {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    min-inline-size: 0;
  }

  :where(.Callout-title) {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--callout-accent, var(--accent));
  }

  :where(.Callout-body) {
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    color: var(--ink);
  }

  :where(.Callout-body) p {
    margin: 0;
  }

  :where(.Callout-body) p + p {
    margin-block-start: var(--space-sm);
  }

  :where(.Callout[data-variant="note"]) {
    --callout-bg: color-mix(in oklab, var(--accent) 8%, var(--paper));
    --callout-accent: var(--accent);
  }

  :where(.Callout[data-variant="info"]) {
    --callout-bg: color-mix(in oklab, var(--info) 8%, var(--paper));
    --callout-accent: var(--info);
  }

  :where(.Callout[data-variant="tip"]) {
    --callout-bg: color-mix(in oklab, var(--positive) 8%, var(--paper));
    --callout-accent: var(--positive);
  }

  :where(.Callout[data-variant="warning"]) {
    --callout-bg: color-mix(in oklab, var(--warning) 8%, var(--paper));
    --callout-accent: var(--warning);
  }

  :where(.Callout[data-variant="danger"]) {
    --callout-bg: color-mix(in oklab, var(--danger) 8%, var(--paper));
    --callout-accent: var(--danger);
  }
}

/* packages/ui/src/styles/blocks/protected-media.css */
@layer components {
  :where(.ProtectedVideo, .ProtectedImage) {
    position: relative;
    margin-block: var(--space-lg);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  :where(.ProtectedVideo-wrapper) {
    position: relative;
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    overflow: hidden;
    padding-block-start: 56.25%;
  }

  :where(.ProtectedVideo-wrapper) iframe {
    position: absolute;
    opacity: 0;
    border: 0;
    block-size: 100%;
    inline-size: 100%;
    transition: opacity .3s ease-out;
    inset: 0;
  }

  :where(.ProtectedVideo-wrapper) iframe[data-loaded] {
    opacity: 1;
  }

  :where(.ProtectedVideo-placeholder, .ProtectedImage-placeholder) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-md);
    padding: var(--space-xl);
    background: var(--surface-alt);
    border: 2px dashed var(--line);
    border-radius: var(--radius-md);
    color: var(--muted);
  }

  :where(.ProtectedVideo-icon, .ProtectedImage-icon) {
    opacity: .5;
    flex-shrink: 0;
    block-size: 2rem;
    inline-size: 2rem;
  }

  :where(.ProtectedVideo-info, .ProtectedImage-info) {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
  }

  :where(.ProtectedVideo-label, .ProtectedImage-label) {
    color: var(--ink);
    font-weight: 500;
  }

  :where(.ProtectedVideo-error, .ProtectedImage-error) {
    font-size: var(--text-sm);
    color: var(--danger);
  }

  :where(.ProtectedVideo-caption, .ProtectedImage-caption) {
    font-size: var(--text-sm);
    color: var(--muted);
    text-align: center;
    margin-block-start: var(--space-sm);
  }

  :where(.ProtectedImage-wrapper) {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--surface-alt);
  }

  :where(.ProtectedImage-wrapper) .MediaImage {
    display: block;
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge) {
    position: absolute;
    z-index: 1;
    display: inline-flex;
    padding-inline: var(--space-xs);
    padding-block: var(--space-xs);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .05em;
    background: var(--accent);
    color: var(--on-accent);
    border-radius: var(--radius-sm);
    align-items:  center;
    font-weight: 600;
    top: var(--space-sm);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):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: var(--space-sm);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):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: var(--space-sm);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):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: var(--space-sm);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):-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);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):-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);
  }

  :where(.ProtectedVideo-badge, .ProtectedImage-badge):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);
  }

  :where(.ProtectedVideo[data-paywall], .ProtectedImage[data-paywall]) .ProtectedVideo-wrapper {
    border: 2px solid var(--accent);
  }

  :where(.ProtectedVideo[data-paywall], .ProtectedImage[data-paywall]) .ProtectedVideo-placeholder {
    border-color: var(--accent);
    border-style: solid;
  }

  :where(.ProtectedVideo[data-paywall], .ProtectedImage[data-paywall]) .ProtectedImage-placeholder {
    border-color: var(--accent);
    border-style: solid;
  }
}

/* packages/ui/src/styles/blocks/media-image.css */
@layer components {
  :where(.MediaImage) {
    position: relative;
    display: block;
    overflow: hidden;
    background-color: var(--color-muted);
    height: 100%;
  }

  :where(.MediaImage-placeholder) {
    position: absolute;
    object-fit: cover;
    filter: blur(20px);
    opacity: 0;
    animation: media-image-fade-in .4s ease-out forwards;
    width: 100%;
    height: 100%;
    inset: 0;
    transform: scale(1.1);
  }

  :where(.MediaImage-img) {
    position: relative;
    object-fit: cover;
    opacity: 0;
    width: 100%;
    height: 100%;
    transition: opacity .5s ease-out;
  }

  :where(.MediaImage-img[data-loaded]) {
    opacity: 1;
  }

  :where(.MediaImage:has(.MediaImage-img[data-loaded]) .MediaImage-placeholder) {
    animation: media-image-fade-out .3s ease-out .35s both;
    pointer-events: none;
  }
}

@keyframes media-image-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

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

  to {
    opacity: 0;
  }
}

/* packages/ui/src/styles/blocks/toc.css */
@layer components {
  :where(.Toc) {
    position: sticky;
    max-block-size: calc(100vh - var(--space-lg) * 2);
    overflow-y: auto;
    font-size: var(--text-sm);
    top: var(--space-lg);
  }

  :where(.Toc-title) {
    font-weight: 600;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--muted);
    margin-block-end: var(--space-sm);
  }

  :where(.Toc-list) {
    list-style: none;
    display: flex;
    gap: var(--space-2xs);
    flex-direction: column;
    margin: 0;
    padding: 0;
  }

  :where(.Toc-item) {
    padding-inline-start: calc(var(--toc-indent, 0) * var(--space-md));
  }

  :where(.Toc-link) {
    display: block;
    padding-block: var(--space-2xs);
    color: var(--muted);
    text-decoration: none;
    border-inline-start: 2px solid #0000;
    margin-inline-start: calc(-1 * var(--space-sm)  - 2px);
    padding-inline-start: var(--space-sm);
    transition: color .15s, padding-inline-start .15s;
  }

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

  :where(.Toc-link:focus-visible) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
  }

  :where(.Toc-link[aria-current="true"]) {
    color: var(--accent);
    border-inline-start-color: var(--accent);
    font-weight: 500;
  }

  :where(.Toc-link.is-active) {
    color: var(--accent);
    border-inline-start-color: var(--accent);
    font-weight: 500;
  }
}

/* packages/ui/src/styles/blocks/title-back-nav.css */
@layer components {
  :where(.title-back-nav) {
    position: relative;
    display: flex;
    align-items:  center;
    margin-inline-start: calc(-1 * var(--space-lg));
    padding-inline-start: var(--space-lg);
  }

  .title-back-nav-trigger {
    position: absolute;
    display: inline-flex;
    inline-size: var(--space-lg);
    block-size: var(--space-lg);
    border-radius: var(--radius-sm);
    color: var(--muted);
    text-decoration: none;
    cursor: pointer;
    justify-content: center;
    align-items:  center;
  }

  .title-back-nav-trigger: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;
  }

  .title-back-nav-trigger: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;
  }

  .title-back-nav-trigger: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;
  }

  .title-back-nav-trigger:-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;
  }

  .title-back-nav-trigger:-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;
  }

  .title-back-nav-trigger: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;
  }

  .title-back-nav-icon {
    opacity: 0;
    transform: translateX(calc(-1 * var(--space-xs)));
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
    flex-shrink: 0;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  .title-back-nav-title {
    font-size: var(--text-4xl);
    letter-spacing: -.03em;
    transition: transform var(--duration) var(--ease);
    margin: 0;
    font-weight: 700;
  }

  .title-back-nav-trigger:hover .title-back-nav-icon {
    opacity: 1;
    transform: translateX(0);
  }

  .title-back-nav-trigger:focus-visible .title-back-nav-icon {
    opacity: 1;
    transform: translateX(0);
  }

  .title-back-nav-trigger:hover ~ .title-back-nav-title {
    transform: translateX(var(--space-sm));
  }

  .title-back-nav-trigger:focus-visible ~ .title-back-nav-title {
    transform: translateX(var(--space-sm));
  }

  .title-back-nav-trigger:hover {
    color: var(--accent);
  }

  .title-back-nav-trigger:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  @media (prefers-reduced-motion: reduce) {
    .title-back-nav-icon, .title-back-nav-title {
      transition: none;
    }
  }
}

/* packages/ui/src/styles/blocks/content-page.css */
@layer components {
  @keyframes content-page-fade-in {
    from {
      opacity: 0;
      transform: translateY(4px);
    }

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

  :where(.ContentPage) {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-xl);
    align-items:  start;
  }

  :where(.ContentPage[data-has-toc]) {
    grid-template-columns: 1fr 14rem;
  }

  .ContentPage-content {
    animation: content-page-fade-in .2s ease-out;
    min-inline-size: 0;
  }

  .ContentPage-header {
    border-block-end: 1px solid var(--line);
    margin-block-end: var(--space-lg);
    padding-block-end: var(--space-md);
  }

  .ContentPage-header h1 {
    font-size: var(--text-4xl);
    letter-spacing: -.03em;
    margin: 0;
    font-weight: 700;
  }

  .ContentPage-title-row {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  .ContentPage-description {
    color: var(--muted);
    font-size: var(--text-lg);
    margin-block-start: var(--space-sm);
    margin-block-end: 0;
  }

  .ContentPage-meta {
    display: flex;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    color: var(--muted);
    margin-block-start: var(--space-sm);
  }

  .ContentPage-sidebar {
    position: sticky;
    top: var(--space-md);
  }

  @media (max-width: calc(64rem - .001px)) {
    .ContentPage[data-has-toc] {
      grid-template-columns: 1fr;
    }

    .ContentPage-sidebar {
      display: none;
    }
  }
}

/* packages/ui/src/styles/blocks/pagination.css */
@layer components {
  :where(.Pagination) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-md);
    border-block-start: 1px solid var(--line);
    margin-block-start: var(--space-xl);
    padding-block-start: var(--space-lg);
  }

  :where(.Pagination) a[disabled] {
    pointer-events: none;
  }

  :where(.Pagination-info) {
    font-size: var(--text-sm);
    color: var(--muted);
    text-align: center;
    min-inline-size: 6rem;
  }
}

/* packages/ui/src/styles/blocks/demo.css */
@layer components {
  :where(.page) {
    margin: var(--space-lg) 0;
    display: flex;
    gap: var(--space-lg);
    flex-direction: column;
  }

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

  :where(.page-title) {
    font-size: var(--text-4xl);
    letter-spacing: -.03em;
    font-weight: 700;
    line-height: 2.5rem;
  }

  :where(.page-subtitle) {
    font-size: var(--text-lg);
    color: var(--muted);
    max-width: 42rem;
  }

  :where(.inline-code) {
    background-color: var(--surface-alt);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
  }

  :where(.counter-card) {
    background: linear-gradient(135deg, color-mix(in oklab, var(--surface-alt) 60%, transparent), transparent);
  }

  :where(.counter-content) {
    display: grid;
    gap: var(--space-md);
  }

  :where(.counter-display) {
    font-size: var(--text-4xl);
    letter-spacing: -.02em;
    font-weight: 700;
  }

  .counter-display[data-loading] {
    color: var(--muted);
  }

  :where(.counter-actions) {
    display: flex;
    gap: var(--space-sm);
  }

  :where(.mono-list) {
    display: grid;
    gap: var(--space-md);
  }

  :where(.mono-item) {
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    padding: var(--space-md);
    display: grid;
    gap: var(--space-sm);
    background: var(--surface);
  }

  :where(.mono-key) {
    font-size: var(--text-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
  }

  :where(.mono-code) {
    font-size: var(--text-sm);
    white-space: pre-wrap;
    color: var(--ink);
    background: var(--surface-alt);
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    margin: 0;
  }

  :where(.mono-kv) {
    display: grid;
    gap: var(--space-sm);
    margin: 0;
  }

  :where(.mono-kv-row) {
    display: grid;
    gap: var(--space-2xs);
  }

  :where(.mono-kv-key) {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
  }

  :where(.mono-kv-value) {
    font-size: var(--text-base);
    margin: 0;
  }

  :where(.mono-empty) {
    color: var(--muted);
    font-size: var(--text-base);
  }

  :where(.mono-loading) {
    color: var(--muted);
    font-size: var(--text-base);
  }
}

/* packages/ui/src/styles/print.css */
@layer components {
  @media print {
    .AppShell-sidebar, .AppShell-header, .Sidebar, .NavMain, .NavUser, .ContentPage-sidebar, .TableOfContents, [data-slot="page-actions-trigger"], [data-slot="page-actions-menu"], .Toast, .Dialog, .Sheet, .DropdownMenu {
      display: none !important;
    }

    .AppShell {
      display: block !important;
    }

    .AppShell-main {
      margin: 0 !important;
      padding: 0 !important;
    }

    .ContentPage {
      display: block !important;
      max-inline-size: 100% !important;
    }

    .ContentPage-content {
      animation: none !important;
    }

    .ContentPage-header {
      border-block-end-color: #ccc !important;
    }

    body {
      color: #000 !important;
      background: #fff !important;
      font-size: 12pt !important;
      line-height: 1.5 !important;
    }

    h1 {
      font-size: 24pt !important;
    }

    h2 {
      font-size: 18pt !important;
    }

    h3 {
      font-size: 14pt !important;
    }

    a[href^="http"]:after {
      content: " (" attr(href) ")";
      color: #666;
      font-size: 10pt;
    }

    a[href^="/"]:after, a[href^="#"]:after {
      content: none;
    }

    pre, code {
      background: #f5f5f5 !important;
      border: 1px solid #ddd !important;
      font-size: 10pt !important;
    }

    pre {
      white-space: pre-wrap !important;
      word-wrap: break-word !important;
      overflow-x: visible !important;
      padding: 8pt !important;
    }

    pre, blockquote, table, figure, .Callout {
      break-inside: avoid;
    }

    h1, h2, h3 {
      break-after: avoid;
    }

    img {
      break-inside: avoid;
      max-width: 100% !important;
    }

    .Badge {
      color: #000 !important;
      background: none !important;
      border: 1px solid #999 !important;
    }

    .Callout {
      background: #f9f9f9 !important;
      border: 1px solid #999 !important;
    }

    .ContentPage-description, .ContentPage-meta {
      color: #333 !important;
    }
  }
}

/* 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/surface.css";
@import "./blocks/button.css";
@import "./blocks/card.css";
@import "./blocks/input.css";
@import "./blocks/select.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/auth.css";
@import "./blocks/empty.css";
@import "./blocks/breadcrumb.css";
@import "./blocks/content-breadcrumb.css";
@import "./blocks/tooltip.css";
@import "./blocks/collapsible.css";
@import "./blocks/item.css";
@import "./blocks/error-boundary.css";
@import "./blocks/not-found.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/picker.css";
@import "./blocks/tag-input.css";
@import "./blocks/nav-main.css";
@import "./blocks/nav-user.css";
@import "./blocks/page-actions.css";
@import "./blocks/sidebar.css";
@import "./blocks/app-shell.css";
@import "./blocks/app-loading.css";
@import "./blocks/markdown.css";
@import "./blocks/callout.css";
@import "./blocks/protected-media.css";
@import "./blocks/media-image.css";
@import "./blocks/toc.css";
@import "./blocks/title-back-nav.css";
@import "./blocks/content-page.css";
@import "./blocks/pagination.css";
@import "./blocks/demo.css";
@import "./print.css";

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


/* packages/version-check/src/styles/version-toast.css */
@keyframes version-toast-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(var(--space-sm));
  }

  to {
    opacity: 1;
    transform: translateX(-50%)translateY(0);
  }
}

@layer components {
  .VersionToast-region {
    position: fixed;
    z-index: var(--z-modal);
    width: min(24rem, calc(100% - var(--space-lg) * 2));
    left: 50%;
    transform: translateX(-50%);
  }

  .VersionToast-region[data-position="bottom"] {
    bottom: var(--space-lg);
  }

  .VersionToast-region[data-position="top"] {
    top: var(--space-lg);
  }

  .VersionToast {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    animation: version-toast-in var(--duration) var(--ease);
  }

  .VersionToast-content {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    flex: 1;
    min-width: 0;
  }

  .VersionToast-icon {
    color: var(--accent);
    flex-shrink: 0;
  }

  .VersionToast-message {
    font-size: var(--text-sm);
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .VersionToast-actions {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex-shrink: 0;
  }

  .VersionToast-dismiss {
    display: flex;
    padding: var(--space-xs);
    color: var(--muted);
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: color var(--duration), background var(--duration);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
  }

  .VersionToast-dismiss:hover {
    color: var(--ink);
    background: var(--surface-alt);
  }

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

/* apps/media-library/src/styles/app.css */
@layer components {
  .StatsGrid {
    display: grid;
    gap: var(--space-md);
    grid-template-columns: 1fr;
  }

  @media (min-width: 768px) {
    .StatsGrid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1024px) {
    .StatsGrid {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .StatCard-header {
    display: flex;
    justify-content: space-between;
    align-items:  center;
  }

  .StatCard-title {
    font-size: var(--text-sm);
    font-weight: 500;
  }

  .StatCard-icon {
    color: var(--muted);
    width: 1rem;
    height: 1rem;
  }

  .StatCard-value {
    font-size: var(--text-2xl);
    font-weight: 700;
  }

  .StatCard-description {
    font-size: var(--text-xs);
    color: var(--muted);
  }
}

@layer components {
  .Loading {
    display: flex;
    justify-content: center;
    align-items:  center;
    min-height: 200px;
  }
}

@layer components {
  .UploadPage-grid {
    display: grid;
    gap: var(--space-lg);
  }

  @media (min-width: 1024px) {
    .UploadPage-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .UploadPage-selectCard {
    display: flex;
    flex-direction: column;
  }

  .UploadPage-filesContent {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
    flex: 1;
  }

  .UploadPage-dropZone {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    border: 2px dashed var(--line);
    border-radius: var(--radius-lg);
    padding: var(--space-md);
    cursor: pointer;
    flex-direction: column;
    flex: 1;
    min-height: 6rem;
    transition: border-color .15s;
  }

  .UploadPage-dropZone:hover {
    border-color: var(--accent);
  }

  .UploadPage-dropIcon {
    color: var(--muted);
    width: 2rem;
    height: 2rem;
  }

  .UploadPage-dropHint {
    font-size: var(--text-sm);
    color: var(--muted);
  }

  .UploadPage-fileList {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  .UploadPage-fileItem {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background-color: var(--surface-alt);
    border-radius: var(--radius-md);
  }

  .UploadPage-fileThumb {
    object-fit: cover;
    border-radius: var(--radius-md);
    width: 2.5rem;
    height: 2.5rem;
  }

  .UploadPage-fileExt {
    display: flex;
    background-color: var(--surface);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    justify-content: center;
    align-items:  center;
    width: 2.5rem;
    height: 2.5rem;
  }

  .UploadPage-fileName {
    font-size: var(--text-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
  }

  .UploadPage-fileRemove {
    padding: var(--space-xs);
    border-radius: var(--radius-md);
  }

  .UploadPage-fileRemove:hover {
    background-color: var(--surface);
  }

  .UploadPage-fileRemoveIcon {
    width: 1rem;
    height: 1rem;
  }

  .UploadPage-select {
    padding: var(--space-sm);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--paper);
    width: 100%;
  }

  .UploadPage-error {
    color: var(--danger);
    font-size: var(--text-sm);
  }

  .UploadPage-submit {
    width: 100%;
  }
}

@layer components {
  .ImageCard {
    padding: 0;
  }

  .ImageCard:hover .ImageCard-overlay {
    opacity: 1;
  }

  .ImageCard-imageContainer {
    position: relative;
    aspect-ratio: 16 / 9;
    background-color: var(--surface-alt);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .ImageCard-image {
    position: absolute;
    object-fit: cover;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    width: 100%;
    height: 100%;
    transition: transform .3s;
    inset: 0;
  }

  .ImageCard-placeholder {
    position: absolute;
    display: flex;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    justify-content: center;
    align-items:  center;
    inset: 0;
  }

  .ImageCard-placeholder svg {
    color: color-mix(in oklab, var(--muted) 50%, transparent);
    width: 2.5rem;
    height: 2.5rem;
  }

  .ImageCard-overlay {
    position: absolute;
    opacity: 0;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    background: linear-gradient(to top, #0009, #0000, #0000);
    transition: opacity .15s;
    inset: 0;
  }

  .ImageCard-imageContainer > .dropdown-menu {
    position: absolute;
    bottom: var(--space-sm);
    right: var(--space-sm);
    opacity: 0;
    transition: opacity .15s;
  }

  .ImageCard:hover .ImageCard-imageContainer > .dropdown-menu, .ImageCard-imageContainer > .dropdown-menu:focus-within {
    opacity: 1;
  }

  .ImageCard .dropdown-menu-content {
    min-width: 12rem;
  }

  .ImageCard-menuButton {
    color: #fff;
    background-color: #00000080;
  }

  .ImageCard-menuButton:hover {
    background-color: #000000b3;
  }

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

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

  .ImageCard-name {
    font-size: var(--text-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex: 1;
    font-weight: 500;
  }

  .ImageCard-protected-icon {
    color: var(--danger);
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
  }

  .ImageCard-synced-icon {
    color: var(--positive);
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
  }

  .ImageCard-meta {
    display: flex;
    font-size: var(--text-xs);
    color: var(--muted);
    justify-content: space-between;
    align-items:  center;
  }

  .ImageCard-tags {
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
  }

  .ImageCard-tag {
    padding: var(--space-xs) var(--space-sm);
    background-color: color-mix(in oklab, var(--muted) 12%, transparent);
    font-size: var(--text-xs);
    border-radius: var(--radius-full);
    color: var(--muted);
  }

  .ImagesGrid {
    display: grid;
    gap: var(--space-lg);
    grid-template-columns: 1fr;
  }

  @media (min-width: 640px) {
    .ImagesGrid {
      grid-template-columns: repeat(1, 1fr);
    }
  }

  @media (min-width: 1024px) {
    .ImagesGrid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1280px) {
    .ImagesGrid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .ImagesEmptyState {
    max-width: 28rem;
    margin-inline-start: auto;
    margin-inline-end: auto;
  }

  .ImagesEmptyState-header {
    text-align: center;
  }

  .ImagesEmptyState-icon {
    border-radius: var(--radius-full);
    background-color: color-mix(in oklab, var(--muted) 12%, transparent);
    display: flex;
    justify-content: center;
    align-items:  center;
    block-size: 3rem;
    inline-size: 3rem;
    margin-block-end: var(--space-md);
    margin-inline-start: auto;
    margin-inline-end: auto;
  }

  .ImagesEmptyState-icon svg {
    color: var(--muted);
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  .ImagesEmptyState-actions {
    display: flex;
    padding-bottom: var(--space-lg);
    justify-content: center;
  }

  .ImagesPage-headerContent {
    display: flex;
    justify-content: space-between;
    align-items:  center;
  }

  .ImagesPage-headerActions {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
  }

  .ImagesPage-filterLabel {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--muted);
    cursor: pointer;
    user-select: none;
  }

  .ImagesPage-filterLabel:hover {
    color: var(--text);
  }

  .ImagesPage-loading {
    display: flex;
    justify-content: center;
    padding-block-start: 4rem;
    padding-block-end: 4rem;
  }

  .ImagesPage-loadMore {
    display: flex;
    justify-content: center;
    padding-top: 2rem;
  }

  .ImagesPage-deleteAction {
    --button-bg: var(--danger);
    --button-bg-hover: color-mix(in oklab, var(--danger) 90%, black 10%);
  }
}
