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

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

  * {
    margin: 0;
    padding: 0;
  }

  html, body {
    overscroll-behavior: none;
  }

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

  ::selection {
    background: var(--selection-bg);
    color: var(--selection-fg);
  }
}

/* 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);
    --accent-subtle: color-mix(in oklab, var(--accent) 10%, transparent);
    --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));
    --selection-bg: oklch(from var(--accent) l c h / .3);
    --selection-fg: var(--ink);
    --space-2xs: .125rem;
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;
    --safe-area-top: env(safe-area-inset-top, 0px);
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --safe-area-left: env(safe-area-inset-left, 0px);
    --safe-area-right: env(safe-area-inset-right, 0px);
    --font-body: "Albert Sans", sans-serif;
    --font-heading: "Scada", sans-serif;
    --font-mono: "Cutive Mono", monospace;
    --font-content: "Andada Pro", serif;
    --text-xs: .6875rem;
    --text-sm: .75rem;
    --text-ui: .875rem;
    --text-base: 1rem;
    --text-lg: 1rem;
    --text-xl: 1.125rem;
    --text-2xl: 1.375rem;
    --text-3xl: 1.75rem;
    --text-4xl: 2.25rem;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --leading-snug: 1.25;
    --leading-normal: 1.5;
    --radius-sm: .25rem;
    --radius-md: .5rem;
    --radius-lg: 1rem;
    --radius-xl: 1.25rem;
    --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);
    --accent-subtle: color-mix(in oklab, var(--accent) 10%, transparent);
    --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);
    --selection-bg: oklch(from var(--accent) l c h / .3);
    --selection-fg: var(--ink);
  }

  @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);
      --accent-subtle: color-mix(in oklab, var(--accent) 10%, transparent);
      --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);
      --selection-bg: oklch(from var(--accent) l c h / .3);
      --selection-fg: var(--ink);
    }
  }
}

/* packages/ui/src/styles/utility.css */
@layer utilities {
  [data-no-animation], [data-no-animation] * {
    animation: none !important;
    transition: none !important;
  }

  .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 {
  @keyframes button-spin {
    to {
      transform: rotate(360deg);
    }
  }

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

  :where(.button) svg {
    inline-size: var(--button-icon-size, 1rem);
    block-size: var(--button-icon-size, 1rem);
    flex-shrink: 0;
  }

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

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

  :where(.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-variant="subtle"] {
    --button-bg: transparent;
    --button-fg: color-mix(in oklab, var(--ink) 60%, transparent);
    --button-border: transparent;
    color: var(--button-fg);
  }

  .button[data-variant="subtle"]:hover:not(:disabled) {
    --button-fg: var(--ink);
    color: var(--button-fg);
    box-shadow: none;
    background: none;
  }

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

  .button[data-size="lg"] {
    --button-size: 3rem;
    --button-px: var(--space-lg);
    --button-font-size: var(--text-base);
    --button-icon-size: 1.25rem;
  }

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

  .button[data-danger] {
    --button-fg: var(--danger);
    --button-border: var(--danger);
  }

  .button[data-destructive] {
    --button-bg: var(--danger);
    --button-bg-hover: color-mix(in oklab, var(--danger) 90%, black 10%);
  }

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

/* packages/ui/src/styles/blocks/toggle-button.css */
@layer components {
  :where(.ToggleButton) {
    color: var(--muted);
    transition: color var(--duration) var(--ease), transform .15s var(--ease);
  }

  :where(.ToggleButton):hover:not(:disabled) {
    color: var(--ink);
  }

  .ToggleButton[data-toggled] {
    color: var(--toggle-active-color, var(--accent));
  }

  .ToggleButton[data-toggled]:hover:not(:disabled) {
    color: var(--toggle-active-color, var(--accent));
    opacity: .8;
  }

  .ToggleButton[data-toggled]:not([data-updating]) {
    animation: toggle-pop .3s var(--ease);
  }

  @keyframes toggle-pop {
    0% {
      transform: scale(1);
    }

    50% {
      transform: scale(1.25);
    }

    100% {
      transform: scale(1);
    }
  }

  .ToggleButton[data-updating] {
    animation: toggle-pulse 1s ease infinite;
  }

  @keyframes toggle-pulse {
    0%, 100% {
      opacity: 1;
    }

    50% {
      opacity: .4;
    }
  }

  .ToggleButton:active:not(:disabled) {
    transform: scale(.9);
  }

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

/* packages/ui/src/styles/blocks/segmented-control.css */
@layer components {
  :where(.segmented-control) {
    position: relative;
    display: inline-flex;
    border-radius: var(--radius-md);
    background: var(--surface-alt);
    color: var(--muted);
    padding: calc(var(--space-xs) / 2);
    justify-content: center;
    align-items:  center;
    block-size: 2.5rem;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }

  :where(.segmented-control) .segmented-control-indicator {
    position: absolute;
    inset-block: calc(var(--space-xs) / 2);
    inline-size: var(--indicator-width);
    transform: translateX(var(--indicator-left));
    border-radius: calc(var(--radius-md) * .75);
    background: var(--paper);
    box-shadow: var(--shadow-sm);
    pointer-events: none;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control) .segmented-control-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: 0;
  }

  :where(.segmented-control)[data-animated] .segmented-control-indicator {
    transition: transform var(--duration) var(--ease), inline-size var(--duration) var(--ease);
  }

  :where(.segmented-control) button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-xs);
    border-radius: calc(var(--radius-md) * .75);
    padding-inline: var(--space-md);
    padding-block: var(--space-xs);
    font-size: var(--text-sm);
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--duration) var(--ease);
    color: inherit;
    background: none;
    border: none;
    block-size: calc(100% - 1px);
    font-weight: 500;
  }

  :where(.segmented-control) button[data-active] {
    color: var(--ink);
  }

  :where(.segmented-control) button:hover:not([data-active]):not(:disabled) {
    color: var(--ink);
  }

  :where(.segmented-control) button:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

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

  :where(.segmented-control)[data-size="sm"] {
    block-size: 1.75rem;
  }

  :where(.segmented-control)[data-size="sm"] button {
    padding-inline: var(--space-sm);
    font-size: var(--text-xs);
  }
}

/* packages/ui/src/styles/blocks/card.css */
@layer components {
  :where(.card) {
    position: relative;
    font-family: var(--font-body);
    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-footer {
    padding-block-start: var(--space-md);
  }
}

/* packages/ui/src/styles/blocks/input.css */
@layer components {
  :where(.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%;
  }

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

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

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

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

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

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

  .input-wrapper {
    position: relative;
    display: flex;
    align-items:  center;
    inline-size: 100%;
  }

  .input-wrapper > .input {
    inline-size: 100%;
  }

  .input-wrapper[data-leading] > .input {
    padding-inline-start: calc(var(--space-md) * 2.25);
  }

  .input-wrapper[data-trailing] > .input {
    padding-inline-end: calc(var(--space-md) * 2.25);
  }

  .input-icon {
    position: absolute;
    color: var(--muted);
    pointer-events: none;
    flex-shrink: 0;
  }

  .input-icon-leading: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);
  }

  .input-icon-leading: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);
  }

  .input-icon-leading: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);
  }

  .input-icon-leading:-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);
  }

  .input-icon-leading:-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);
  }

  .input-icon-leading: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);
  }

  .input-icon-trailing: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);
  }

  .input-icon-trailing: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);
  }

  .input-icon-trailing: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);
  }

  .input-icon-trailing:-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);
  }

  .input-icon-trailing:-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);
  }

  .input-icon-trailing: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/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(--badge-px, var(--space-sm));
    padding-block: var(--badge-py, calc(var(--space-xs) / 2));
    background: var(--badge-bg, color-mix(in oklab, var(--ink) 12%, transparent));
    color: var(--badge-fg, var(--muted));
    border: 1px solid var(--badge-border, transparent);
    border-radius: var(--radius-full);
    font-size: var(--badge-fs, var(--text-xs));
    white-space: nowrap;
    justify-self: flex-start;
    font-weight: 500;
    line-height: 1;
  }

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

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

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

/* packages/ui/src/styles/blocks/kbd.css */
@layer components {
  :where(.kbd) {
    display: inline-flex;
    min-inline-size: var(--kbd-size, 1.5rem);
    block-size: var(--kbd-size, 1.5rem);
    padding-inline: var(--kbd-px, var(--space-xs));
    background: var(--kbd-bg, var(--surface));
    color: var(--kbd-fg, var(--muted));
    border: 1px solid var(--kbd-border, var(--line));
    border-radius: var(--kbd-radius, var(--radius-sm));
    box-shadow: var(--kbd-shadow, 0 1px 0 var(--line));
    font-family: inherit;
    font-size: var(--kbd-font-size, var(--text-xs));
    white-space: nowrap;
    justify-content: center;
    align-items:  center;
    font-weight: 500;
    line-height: 1;
  }

  .kbd[data-size="sm"] {
    --kbd-size: 1.25rem;
    --kbd-px: calc(var(--space-xs) * .75);
    --kbd-font-size: calc(var(--text-xs) * .9);
  }
}

/* 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/rule.css */
@layer components {
  :where(.rule) {
    background: var(--line);
    border: 0;
    block-size: 1px;
    inline-size: 100%;
  }

  :where(.rule[data-fade]) {
    background: linear-gradient(to right, var(--line) 0%, var(--line) 70%, transparent 100%);
  }
}

/* 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 */
@layer components {
  @keyframes spinner-spin {
    to {
      transform: rotate(360deg);
    }
  }

  :where(.spinner) {
    display: inline-block;
    inline-size: var(--spinner-size, var(--space-md));
    block-size: var(--spinner-size, var(--space-md));
    border-radius: var(--radius-full);
    animation: spinner-spin .6s linear infinite;
  }

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

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

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

  .scroll-area[data-direction="x"] {
    overflow-x: auto;
    overflow-y: hidden;
  }

  .scroll-area[data-direction="y"] {
    overflow-x: hidden;
    overflow-y: 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 */
@layer components {
  @keyframes auth-loader-spin {
    from {
      transform: rotate(0);
    }

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

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

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

  :where(.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-field--inline) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    flex-direction: row;
  }

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

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

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

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

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

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

  :where(.auth-denied-icon) svg {
    block-size: 2rem;
    inline-size: 2rem;
  }

  :where(.auth-denied-title) {
    font-size: var(--text-xl);
    font-weight: var(--weight-semibold);
    color: var(--ink);
    margin: 0;
  }

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

  :where(.auth-denied-help) {
    font-size: var(--text-ui);
    color: var(--muted);
    margin: 0;
    margin-block-end: var(--space-sm);
  }

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

  :where(.auth-email-display-value) {
    color: var(--muted);
    font-size: var(--text-ui);
    flex: 1;
  }

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

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

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

  :where(.auth-back) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    color: var(--muted);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: color var(--duration) var(--ease);
    background: none;
    border: none;
    margin-block-end: var(--space-sm);
    padding: 0;
  }

  :where(.auth-back):hover {
    color: var(--ink);
  }

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

  :where(.auth-subscription-zone) {
    border-block-start: 1px solid var(--line);
    padding-block-start: var(--space-lg);
  }

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

  :where(.auth-subscription-period) {
    font-size: var(--text-sm);
    color: var(--muted);
  }

  :where(.auth-privacy-zone) {
    border-block-start: 1px solid var(--line);
    padding-block-start: var(--space-lg);
  }

  :where(.auth-collapsible-trigger) {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-sm);
    width: 100%;
  }

  :where(.auth-collapsible-chevron) {
    color: var(--muted);
    transition: transform var(--duration) var(--ease);
    flex-shrink: 0;
    block-size: 1rem;
    inline-size: 1rem;
  }

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

  :where(.auth-collapsible-body) {
    padding-block-start: var(--space-sm);
  }

  :where(.auth-export-status) {
    padding-block: var(--space-xs);
  }

  :where(.auth-link) {
    cursor: pointer;
    color: var(--accent);
    text-decoration: underline;
    font: inherit;
    background: none;
    border: none;
    padding: 0;
  }

  :where(.auth-danger-zone) {
    border-block-start: 1px solid var(--line);
    padding-block-start: var(--space-lg);
  }

  :where(.auth-danger-zone) .field-label {
    color: var(--danger);
  }

  :where(.auth-danger-zone) .auth-collapsible-chevron {
    color: var(--danger);
    opacity: .6;
  }

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

/* 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);
    background: var(--surface);
    box-shadow: var(--shadow-card);
    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;
    max-inline-size: 48rem;
    margin-inline-start: auto;
    margin-inline-end: auto;
  }

  @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-media[data-variant="circle"] {
    background: color-mix(in oklab, var(--muted) 12%, transparent);
    color: var(--muted);
    display: flex;
    border-radius: var(--radius-full);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
    block-size: 3rem;
    inline-size: 3rem;
  }

  .empty-media[data-variant="circle"] 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-line-reveal {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  :where(.content-breadcrumb-separator) {
    color: var(--muted);
    font-size: var(--text-sm);
    flex-shrink: 0;
    line-height: 1;
  }
}

/* packages/ui/src/styles/blocks/tooltip.css */
@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;
    opacity: 1;
    transition: opacity var(--duration) var(--ease), scale var(--duration) var(--ease);
    inline-size: max-content;
    max-inline-size: 20rem;
    scale: 1;
  }

  @starting-style {
    .tooltip {
      opacity: 0;
      scale: .96;
    }
  }

  .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/truncate.css */
@layer components {
  :where(.truncate) {
    display: block;
    overflow: hidden;
    min-inline-size: 0;
  }

  :where(.truncate[data-scrollable]) {
    overflow-x: auto;
    scrollbar-width: none;
  }

  :where(.truncate-inner) {
    display: block;
    white-space: nowrap;
  }

  :where(.truncate[data-fade="end"] .truncate-inner) {
    padding-inline-end: var(--truncate-fade, var(--space-lg));
  }

  :where(.truncate[data-fade="both"] .truncate-inner) {
    padding-inline-end: var(--truncate-fade, var(--space-lg));
  }

  :where(.truncate[data-fade="start"] .truncate-inner) {
    padding-inline-start: var(--truncate-fade, var(--space-lg));
  }

  :where(.truncate[data-fade="both"] .truncate-inner) {
    padding-inline-start: var(--truncate-fade, var(--space-lg));
  }

  :where(.truncate[data-fade="end"] .truncate-inner) {
    mask-image: linear-gradient(to right, black calc(100% - var(--truncate-fade, var(--space-lg))), transparent 100%);
  }

  :where(.truncate[data-fade="start"] .truncate-inner) {
    mask-image: linear-gradient(to left, black calc(100% - var(--truncate-fade, var(--space-lg))), transparent 100%);
  }

  :where(.truncate[data-fade="both"] .truncate-inner) {
    mask-image: linear-gradient(to right, transparent 0, black var(--truncate-fade, var(--space-lg)), black calc(100% - var(--truncate-fade, var(--space-lg))), transparent 100%);
  }
}

/* packages/ui/src/styles/blocks/collapsible.css */
@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 {
    interpolate-size: allow-keywords;
    display: none;
    overflow: hidden;
    transition: height .2s ease-in-out, display .2s allow-discrete;
    height: 0;
  }

  .collapsible-content[data-state="open"] {
    display: block;
    overflow: visible;
    transition: height .2s ease-in-out, display .2s allow-discrete, overflow 0s .2s allow-discrete;
    height: auto;
  }

  @starting-style {
    .collapsible-content[data-state="open"] {
      height: 0;
      overflow: hidden;
    }
  }
}

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

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

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

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

  :where(.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/access-gate.css */
:where(.AccessGate) {
  display: flex;
  padding: var(--space-xl) var(--space-md);
  justify-content: center;
  min-block-size: 60vh;
}

:where(.AccessGate[data-compact]) {
  min-block-size: unset;
  padding: var(--space-lg) var(--space-md);
}

:where(.AccessGate-card) {
  text-align: center;
  max-inline-size: 28rem;
}

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

:where(.AccessGate-icon) {
  display: flex;
  justify-content: center;
  margin-block-end: var(--space-sm);
}

:where(.AccessGate-icon) svg {
  color: var(--accent);
  block-size: 3rem;
  inline-size: 3rem;
}

:where(.AccessGate-content) {
  padding: var(--space-md);
  padding-block-start: var(--space-md);
}

:where(.AccessGate-features) {
  text-align: start;
  margin-block-end: var(--space-lg);
}

:where(.AccessGate-features) h3 {
  font-size: var(--text-sm);
  margin: 0 0 var(--space-sm) 0;
  color: var(--muted);
  font-weight: 600;
}

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

:where(.AccessGate-features) li {
  display: flex;
  align-items:  center;
  gap: var(--space-sm);
  font-size: var(--text-sm);
}

:where(.AccessGate-features) li svg {
  color: var(--accent);
  flex-shrink: 0;
  block-size: 1rem;
  inline-size: 1rem;
}

:where(.AccessGate-pricing) {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--space-xs);
  margin-block-end: var(--space-md);
}

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

:where(.AccessGate-action) button {
  padding: var(--space-sm) var(--space-lg);
  font-size: var(--text-base);
  color: var(--on-accent);
  background: var(--accent);
  border-radius: var(--radius-md);
  cursor: pointer;
  border: none;
  inline-size: 100%;
  transition: opacity .15s;
  font-weight: 600;
}

:where(.AccessGate-action) a.button {
  padding: var(--space-sm) var(--space-lg);
  font-size: var(--text-base);
  color: var(--on-accent);
  background: var(--accent);
  border-radius: var(--radius-md);
  cursor: pointer;
  border: none;
  inline-size: 100%;
  transition: opacity .15s;
  font-weight: 600;
}

:where(.AccessGate-action) button:hover {
  opacity: .9;
}

:where(.AccessGate-action) a.button:hover {
  opacity: .9;
}

:where(.AccessGate-action) button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

:where(.AccessGate-action) button[data-loading] {
  opacity: .6;
  cursor: not-allowed;
}

:where(.AccessGate-action) [data-error] {
  font-size: var(--text-sm);
  color: var(--destructive);
  margin: 0;
}

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

  @starting-style {
    .toast {
      transform: translateY(150%);
    }
  }

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

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

  .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-actions {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex-shrink: 0;
  }

  .toast-action {
    display: inline-flex;
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: var(--leading-tight);
    border-radius: var(--radius-sm);
    background: var(--accent);
    color: var(--accent-contrast);
    cursor: pointer;
    transition: background var(--duration), opacity var(--duration);
    border: none;
    justify-content: center;
    align-items:  center;
  }

  .toast-action:hover {
    opacity: .9;
  }

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

  .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 */
@layer components {
  @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);
      }
    }
  }

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

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

  :where(.dialog-container) {
    position: fixed;
    z-index: var(--z-overlay);
    display: grid;
    inset: 0;
  }

  :where(.dialog-backdrop) {
    grid-area: 1 / 1;
    background-color: oklch(0 0 0 / .5);
    place-self: stretch;
  }

  :where(.dialog-popup) {
    --dialog-padding-block: var(--space-lg);
    --dialog-padding-inline: var(--space-lg);
    --dialog-gap: var(--space-md);
    position: relative;
    grid-area: 1 / 1;
    z-index: 1;
    display: flex;
    place-self:  center;
    gap: var(--dialog-gap);
    padding: var(--dialog-padding-block) var(--dialog-padding-inline);
    container-type: inline-size;
    container-name: dialog;
    max-inline-size: min(32rem, calc(100% - var(--space-md) * 2));
    max-block-size: calc(100dvh - var(--space-lg) * 2);
    overflow-y: auto;
    flex-direction: column;
    inline-size: 100%;
  }

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

  :where(.dialog-popup)[data-padding="none"] {
    --dialog-padding-block: 0px;
    --dialog-padding-inline: 0px;
    --dialog-gap: 0px;
  }

  :where(.dialog-popup)[data-padding="compact"] {
    --dialog-padding-block: var(--space-md);
    --dialog-padding-inline: var(--space-md);
    --dialog-gap: var(--space-sm);
  }

  :where(.dialog-container):has( ~ .dialog-container) :where(.dialog-popup) {
    pointer-events: none;
    scale: .94;
  }

  :where(.dialog-container):has( ~ .dialog-container ~ .dialog-container) :where(.dialog-popup) {
    scale: .88;
  }

  .dialog-close {
    border-radius: var(--radius-sm);
    opacity: .7;
    cursor: pointer;
    padding: var(--space-xs);
    color: var(--muted);
    display: inline-flex;
    background: none;
    border: none;
    flex-shrink: 0;
    justify-content: center;
    align-self:  start;
    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-header {
    margin-inline: calc(var(--dialog-padding-inline) * -1);
    display: flex;
    text-align: start;
    padding: var(--dialog-padding-block) var(--dialog-padding-inline) var(--dialog-gap);
    flex-direction: row;
    flex-shrink: 0;
    align-items:  start;
    margin-block-start: calc(var(--dialog-padding-block) * -1);
  }

  .dialog-header-body {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
    flex: 1;
  }

  .dialog-footer {
    margin-inline: calc(var(--dialog-padding-inline) * -1);
    display: flex;
    gap: var(--space-sm);
    padding: var(--dialog-gap) var(--dialog-padding-inline) var(--dialog-padding-block);
    flex-direction: column-reverse;
    flex-shrink: 0;
    margin-block-end: calc(var(--dialog-padding-block) * -1);
  }

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

  .dialog-bleed {
    margin-inline: calc(var(--dialog-padding-inline) * -1);
  }

  .dialog-bleed[data-edges="block"] {
    margin-block: calc(var(--dialog-padding-block) * -1);
  }

  .dialog-bleed[data-edges="all"] {
    margin: calc(var(--dialog-padding-block) * -1) calc(var(--dialog-padding-inline) * -1);
  }

  :where(.dialog-popup):has(.dialog-body) {
    overflow-y: hidden;
  }

  :where(.dialog-body) {
    overflow-y: auto;
    scrollbar-gutter: stable;
    padding-inline-end: var(--space-sm);
    padding-block: var(--space-sm);
    mask-image: linear-gradient(to bottom, transparent, black var(--space-sm), black calc(100% - var(--space-sm)), transparent);
    flex: 1;
    min-block-size: 0;
  }

  .dialog-title {
    font-family: var(--font-body);
    font-size: var(--text-2xl);
    line-height: 1;
    font-weight: var(--weight-semibold);
  }

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

/* packages/ui/src/styles/blocks/command-palette.css */
@layer components {
  :where(.command-palette-input-wrapper) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-block-end: 1px solid var(--line);
  }

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

  :where(.command-palette-input) {
    font-size: var(--text-ui);
    color: var(--ink);
    outline: none;
    background: none;
    border: none;
    flex: 1;
  }

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

  :where(.command-palette-input-spinner) {
    color: var(--muted);
    flex-shrink: 0;
  }

  :where(.command-palette-kbd) {
    display: inline-flex;
    padding-inline: var(--space-xs);
    padding-block: var(--space-2xs);
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    background: var(--surface-alt);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--muted);
    justify-content: center;
    align-items:  center;
    min-inline-size: 1.25rem;
  }

  :where(.command-palette-list) {
    overflow-y: auto;
    padding: var(--space-xs);
    flex: 1;
  }

  :where(.command-palette-group) + .command-palette-group {
    margin-block-start: var(--space-sm);
  }

  :where(.command-palette-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(.command-palette-item) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-block: var(--space-sm);
    padding-inline: var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--ink);
    text-align: start;
    cursor: default;
    outline: none;
    user-select: none;
    background: none;
    border: none;
    inline-size: 100%;
  }

  :where(.command-palette-item)[data-disabled] {
    pointer-events: none;
    opacity: .5;
  }

  :where(.command-palette-item):hover {
    background: var(--surface-alt);
  }

  :where(.command-palette-item):focus {
    background: var(--surface-alt);
  }

  :where(.command-palette-item)[data-active] {
    background: var(--surface-alt);
  }

  :where(.command-palette-item)[data-active] {
    box-shadow: inset 0 0 0 1px var(--line);
  }

  :where(.command-palette-item-icon) {
    display: flex;
    inline-size: var(--space-md);
    block-size: var(--space-md);
    color: var(--muted);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
  }

  :where(.command-palette-item-icon) svg {
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.command-palette-item-content) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
  }

  :where(.command-palette-item-shortcut) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex-shrink: 0;
  }

  :where(.command-palette-separator) {
    margin-block: var(--space-xs);
    background: var(--line);
    block-size: 1px;
  }

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

  :where(.command-palette-loading) {
    display: flex;
    padding: var(--space-md);
    justify-content: center;
  }
}

@layer overrides {
  .command-palette-panel {
    --surface-radius: var(--radius-lg);
    --surface-shadow: var(--shadow-lg);
    inline-size: min(36rem, calc(100vw - var(--space-lg)));
    display: flex;
    overflow: hidden;
    flex-direction: column;
    place-self:  start center;
    max-block-size: min(24rem, 60vh);
    margin-block-start: 15vh;
    padding: 0;
    transform: none;
  }
}

/* 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);
    background-color: oklch(0 0 0 / .5);
    view-transition-name: sheet-backdrop;
    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);
    outline: none;
    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 */
@layer components {
  @keyframes dropdown-menu-out {
    from {
      opacity: 1;
      transform: scale(1)translateY(0);
    }

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

  :where(.dropdown-menu) {
    position: relative;
    display: inline-flex;
    align-self:  start;
  }

  :where(.dropdown-menu-content) {
    --surface-radius: var(--radius-md);
    min-inline-size: calc(var(--space-md) * 5);
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    box-shadow: var(--surface-shadow);
    color: var(--ink);
    padding: var(--space-xs);
    transform-origin: var(--transform-origin);
    inline-size: max-content;
  }

  :where(.dropdown-menu-sub-content) {
    --surface-radius: var(--radius-md);
    min-inline-size: calc(var(--space-md) * 5);
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    box-shadow: var(--surface-shadow);
    color: var(--ink);
    padding: var(--space-xs);
    transform-origin: var(--transform-origin);
    inline-size: max-content;
  }

  :where(.dropdown-menu-content) {
    z-index: var(--z-overlay);
    max-block-size: var(--available-height, calc(var(--space-xl) * 6.25));
    overflow: visible;
    opacity: 1;
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
    transform: scale(1)translateY(0);
  }

  @starting-style {
    :where(.dropdown-menu-content) {
      opacity: 0;
      transform: scale(.95) translateY(calc(var(--space-sm) * -1));
    }
  }

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

  [data-slot="dropdown-menu-slop"] {
    pointer-events: auto;
    z-index: -1;
  }

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

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

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

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

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

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

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

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

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

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

  :where(.dropdown-menu-checkbox-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);
  }

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

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

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

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

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

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

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

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

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

  :where(.dropdown-menu-checkbox-indicator) {
    position: absolute;
    display: flex;
    inline-size: var(--text-sm);
    block-size: var(--text-sm);
    pointer-events: none;
    justify-content: center;
    align-items:  center;
  }

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

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

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

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

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

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

  :where(.dropdown-menu-radio-indicator) {
    position: absolute;
    display: flex;
    inline-size: var(--text-sm);
    block-size: var(--text-sm);
    pointer-events: none;
    justify-content: center;
    align-items:  center;
  }

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

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

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

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

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

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

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

  :where(.dropdown-menu-radio-indicator):after {
    content: "";
    background-color: var(--accent);
    opacity: 0;
    border-radius: 50%;
    block-size: 6px;
    inline-size: 6px;
  }

  [aria-checked="true"] > :where(.dropdown-menu-radio-indicator):after {
    opacity: 1;
  }

  :where(.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: var(--weight-medium);
  }

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

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

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

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

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

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

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

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

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

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

  :where(.dropdown-menu-sub-content) {
    z-index: var(--z-overlay);
    overflow: hidden;
    opacity: 1;
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
    transform: scale(1)translateY(0);
  }

  @starting-style {
    :where(.dropdown-menu-sub-content) {
      opacity: 0;
      transform: scale(.95) translateY(calc(var(--space-sm) * -1));
    }
  }

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

/* packages/ui/src/styles/blocks/app-launcher.css */
@layer components {
  :where(.app-launcher-trigger) {
    flex-shrink: 0;
  }

  :where(.app-topbar) {
    position: sticky;
    z-index: calc(var(--z-raised)  + 1);
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    block-size: var(--space-lg);
    padding-inline: var(--space-xs);
    pointer-events: none;
    transition: opacity .2s var(--ease);
    padding-block-end: var(--space-xs);
    top: var(--space-sm);
  }

  :where(.app-topbar)[data-hidden="true"] {
    opacity: 0;
  }

  :where(.app-topbar)[data-hidden="true"] > * {
    pointer-events: none;
  }

  :where(.app-topbar) > * {
    pointer-events: auto;
    display: flex;
    align-items:  center;
  }

  :where(.app-topbar-start) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  :where(.app-topbar-middle) {
    display: flex;
    pointer-events: auto;
    mask-image: linear-gradient(to right, transparent, black var(--space-lg), black calc(100% - var(--space-lg)), transparent);
    flex: 1;
    align-items:  center;
    min-inline-size: 0;
    margin-inline-start: calc(-1 * var(--space-lg));
    padding-inline-start: var(--space-lg);
  }

  :where(.app-topbar-middle) > .scroll-area {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    overflow-y: hidden;
  }

  :where(.app-topbar-middle) .breadcrumb-list {
    container-type: normal;
    padding: var(--space-xs) var(--space-sm);
    word-break: normal;
    white-space: nowrap;
    flex-wrap: nowrap;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }

  :where(.app-topbar-middle) .breadcrumb-link {
    color: var(--muted);
  }

  :where(.app-topbar-middle) .breadcrumb-link:hover {
    color: var(--ink);
  }

  :where(.app-topbar-middle) [data-slot="breadcrumb-separator"] {
    color: var(--muted);
  }

  :where(.app-topbar-middle) [data-slot="breadcrumb-current"] {
    color: var(--accent);
  }

  :where(.app-topbar-search) {
    color: var(--muted);
  }

  :where(.app-topbar-search-icon) {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.app-topbar-end) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    margin-inline-start: auto;
  }

  :where(.app-topbar-end) .dropdown-menu {
    align-self:  center;
  }

  :where(.app-topbar-brand) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    text-decoration: none;
    color: var(--ink);
    border-radius: var(--radius-sm);
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    transition: background-color var(--duration) var(--ease);
    font-weight: 500;
  }

  :where(.app-topbar-brand):hover {
    background: color-mix(in oklab, var(--ink) 6%, transparent);
  }

  :where(.app-topbar):before {
    content: "";
    position: absolute;
    background: var(--app-bg-gradient), var(--app-bg-base);
    z-index: -1;
    opacity: 0;
    animation: content-breadcrumb-line-reveal linear both;
    animation-timeline: scroll();
    animation-range: 0 var(--space-xl);
    background-attachment: fixed;
    top: -5rem;
    bottom: 0;
    left: -100vw;
    right: -100vw;
  }

  :where(.app-topbar):after {
    content: "";
    position: absolute;
    block-size: var(--space-2xs);
    background: linear-gradient(to right, var(--paper) 25%, color-mix(in oklab, var(--paper) 25%, transparent) 75%);
    box-shadow: 0 0 var(--space-sm) var(--space-xs) var(--app-bg-base, var(--paper));
    opacity: 0;
    animation: content-breadcrumb-line-reveal linear both;
    animation-timeline: scroll();
    animation-range: 0 var(--space-xl);
    bottom: 0;
    left: -100vw;
    right: -100vw;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):before {
    block-size: var(--space-md);
    border-radius: var(--radius-md);
    box-shadow: 0 0 var(--space-lg) var(--space-lg) var(--paper);
    inline-size: var(--space-xl);
    background: var(--paper);
    top: 0;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):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: auto;
    right: 0;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):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: auto;
    right: 0;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):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: auto;
    right: 0;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):-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;
    right: auto;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):-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;
    right: auto;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):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;
    right: auto;
  }

  .app-layout[data-state="expanded"][data-mobile="false"] :where(.app-topbar):after {
    display: none;
  }

  :where(.app-launcher-grid) {
    display: grid;
    grid-template-columns: repeat(3, 5.5rem);
    gap: var(--space-xs);
    padding: var(--space-xs);
  }

  :where(.app-launcher-grid) .app-launcher-list {
    display: contents;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  :where(.app-launcher-grid) .app-launcher-item {
    display: contents;
  }

  :where(.app-launcher-grid) .app-launcher-item > .tooltip-root {
    display: contents;
  }

  :where(.app-launcher-tile) {
    --tile-color: var(--accent);
    display: flex;
    border-radius: var(--radius-lg);
    text-decoration: none;
    cursor: pointer;
    background: linear-gradient(to bottom, var(--tile-color), color-mix(in oklab, var(--tile-color) 88%, black 12%));
    transition: filter var(--duration) var(--ease);
    aspect-ratio: 1;
    overflow: hidden;
    flex-direction: column;
    align-items:  center;
  }

  :where(.app-launcher-tile):hover {
    filter: brightness(1.06);
  }

  :where(.app-launcher-tile):focus-visible {
    outline: var(--space-2xs) solid var(--accent);
    outline-offset: var(--space-2xs);
  }

  :where(.dropdown-menu-content):has(.app-launcher-grid) {
    --surface-radius: var(--radius-xl);
  }

  :where(.app-launcher-avatar) {
    display: flex;
    font-size: var(--text-3xl);
    user-select: none;
    flex: 1;
    justify-content: center;
    align-items:  center;
    inline-size: 100%;
    padding-block-start: var(--space-xs);
    font-weight: 600;
    line-height: 1;
  }

  :where(.app-launcher-rule) {
    border: none;
    border-block-start: 1px solid #00000026;
    border-block-start: 1px solid color(display-p3 0 0 0 / .15);
    border-block-start: 1px solid lab(0% 0 0 / .15);
    block-size: 0;
    inline-size: 100%;
    margin: 0;
  }

  :where(.app-launcher-label) {
    font-size: var(--text-xs);
    line-height: var(--leading-snug);
    text-align: center;
    padding-inline: var(--space-sm);
    padding-block: var(--space-2xs);
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(to right, black calc(100% - var(--truncate-fade)  - var(--space-xs)), transparent calc(100% - var(--space-xs)));
    --truncate-fade: var(--space-md);
    inline-size: 100%;
  }
}

.app-launcher-tile, .app-launcher-tile:visited {
  color: var(--paper);
}

/* packages/ui/src/styles/blocks/split-button.css */
@layer components {
  :where(.split-button) {
    --split-button-size: var(--button-size, 2.5rem);
    --split-button-px: var(--button-px, var(--space-md));
    --split-button-font-size: var(--button-font-size, var(--text-sm));
    --split-button-radius: var(--button-radius, var(--radius-md));
    --split-button-bg: var(--accent);
    --split-button-fg: var(--paper);
    --split-button-border: transparent;
    --split-button-divider: color-mix(in oklab, var(--paper) 30%, transparent);
    position: relative;
    display: inline-flex;
    align-items: stretch;
  }

  .split-button[data-variant="outline"] {
    --split-button-bg: transparent;
    --split-button-fg: var(--ink);
    --split-button-border: var(--line);
    --split-button-divider: var(--line);
  }

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

  .split-button[data-size="lg"] {
    --split-button-size: 3rem;
    --split-button-px: var(--space-lg);
    --split-button-font-size: var(--text-base);
  }

  .split-button-action, .split-button-trigger {
    display: inline-flex;
    box-sizing: border-box;
    block-size: var(--split-button-size);
    background: var(--split-button-bg);
    color: var(--split-button-fg);
    border: 1px solid var(--split-button-border);
    font-size: var(--split-button-font-size);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: all var(--duration) var(--ease);
    justify-content: center;
    align-items:  center;
    font-weight: 500;
    line-height: 1;
  }

  :is(.split-button-action, .split-button-trigger):hover:not(:disabled) {
    filter: brightness(.95);
  }

  :is(.split-button-action, .split-button-trigger):disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  :is(.split-button-action, .split-button-trigger):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    z-index: 1;
  }

  .split-button-action {
    gap: var(--space-xs);
    padding-inline: var(--split-button-px);
    border-radius: var(--split-button-radius) 0 0 var(--split-button-radius);
    border-inline-end: none;
  }

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

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

  .split-button-divider {
    background: var(--split-button-divider);
    align-self: stretch;
    inline-size: 1px;
  }

  .split-button-trigger {
    padding-inline: var(--space-xs);
    border-radius: 0 var(--split-button-radius) var(--split-button-radius) 0;
    border-inline-start: none;
  }

  .split-button-chevron {
    inline-size: var(--space-md);
    block-size: var(--space-md);
    transition: transform var(--duration) var(--ease);
  }

  .split-button-trigger[data-open] .split-button-chevron {
    transform: rotate(180deg);
  }

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

  .split-button[data-variant="outline"] .split-button-action:hover:not(:disabled) {
    border-inline-end: none;
  }

  .split-button[data-variant="outline"] .split-button-trigger:hover:not(:disabled) {
    border-inline-start: none;
  }

  .split-button-menu {
    min-inline-size: 10rem;
  }
}

/* packages/ui/src/styles/blocks/picker.css */
@keyframes picker-in {
  from {
    opacity: 0;
    transform: scale(.95) translateY(calc(var(--space-sm) * -1));
  }

  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(calc(var(--space-sm) * -1));
  }
}

@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: 1px solid var(--line);
    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;
    z-index: 1;
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs);
    background: var(--surface);
    margin-block-end: var(--space-xs);
    padding-block-start: var(--space-sm);
    top: calc(-1 * var(--space-xs));
  }

  :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)[data-highlighted] {
    background-color: var(--surface-alt);
  }

  :where(.picker-option):focus {
    outline: none;
  }

  :where(.picker-option):focus-visible {
    background-color: var(--surface-alt);
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  :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 {
  .tag-input {
    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;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* packages/ui/src/styles/blocks/composer.css */
@layer components {
  .composer {
    position: relative;
    display: flex;
    background: var(--input-bg, var(--paper));
    border: 1px solid var(--input-border, var(--line));
    border-radius: var(--input-radius, var(--radius-md));
    transition: border-color var(--duration) var(--ease);
    flex-direction: column;
    gap: 0;
  }

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

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

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

  .composer[data-size="sm"] {
    --composer-font-size: var(--text-xs);
    --composer-padding: var(--space-xs);
  }

  .composer[data-size="lg"] {
    --composer-font-size: var(--text-base);
    --composer-padding: var(--space-md);
  }

  .composer-toolbar {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--composer-padding, var(--space-sm));
    border-block-end: 1px solid var(--line-subtle, color-mix(in oklab, var(--line) 50%, transparent));
  }

  .composer-input {
    display: block;
    padding: var(--composer-padding, var(--space-sm));
    outline: none;
    resize: none;
    font-family: inherit;
    font-size: var(--composer-font-size, var(--text-sm));
    line-height: var(--leading-normal);
    color: var(--input-fg, var(--ink));
    field-sizing: content;
    min-block-size: calc(var(--composer-min-rows, 1) * var(--leading-normal) * 1em + var(--composer-padding, var(--space-sm)) * 2);
    max-block-size: calc(var(--composer-max-rows, 8) * var(--leading-normal) * 1em + var(--composer-padding, var(--space-sm)) * 2);
    background: none;
    border: none;
    inline-size: 100%;
  }

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

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

  .composer-footer {
    display: flex;
    justify-content: flex-end;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--composer-padding, var(--space-sm));
    padding-block-start: 0;
  }

  .composer-counter {
    display: flex;
    align-items:  center;
    gap: var(--space-2xs);
    color: var(--muted);
    font-variant-numeric: tabular-nums;
    opacity: 0;
    transition: opacity var(--duration) var(--ease);
    margin-inline-end: auto;
  }

  .composer-counter[data-has-content] {
    opacity: 1;
  }

  .composer-counter[data-warn] {
    color: var(--warning);
  }

  .composer-counter[data-over] {
    color: var(--danger);
  }

  .composer:focus-within .composer-counter {
    opacity: 1;
  }

  .composer-counter-arc {
    flex-shrink: 0;
  }

  .composer-counter-track {
    stroke: currentColor;
    opacity: .2;
  }

  .composer-counter-progress {
    stroke: currentColor;
    transition: stroke-dashoffset var(--duration) var(--ease);
  }

  .composer-counter-label {
    font-size: var(--text-xs);
    font-weight: 500;
  }

  .composer-submit {
    margin-inline-start: auto;
  }

  .composer-submit[data-loading] {
    pointer-events: none;
  }

  .composer-submit-spinner {
    animation: spin 1s linear infinite;
    block-size: 1em;
    inline-size: 1em;
  }

  @keyframes spin {
    from {
      transform: rotate(0);
    }

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

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

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

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

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

  .nav-main-link > .nav-main-chevron {
    block-size: 1.125rem;
    inline-size: 1.125rem;
    margin-inline-start: auto;
  }

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

  .collapsible-trigger.nav-main-chevron-button {
    display: flex;
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    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:focus-visible {
    box-shadow: 0 0 0 2px var(--accent);
    outline: none;
  }

  .collapsible:has(.nav-main-row) .sidebar-submenu {
    border-inline-start: none;
    padding-block-start: var(--space-md);
    padding-block-end: 0;
  }

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

  .nav-main-subroot-back > svg:first-child {
    flex-shrink: 0;
    block-size: 1.125rem;
    inline-size: 1.125rem;
  }

  :where(.nav-main-subroot-title) {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0;
    min-inline-size: 0;
  }

  :where(.nav-main-subroot-parent) {
    font-size: var(--text-xs);
    color: color-mix(in oklab, currentColor 55%, transparent);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
  }

  .nav-main-menu .sidebar-menu-button, .nav-main-menu .sidebar-menu-button[data-size], .nav-main-subroot-header .sidebar-menu-button, .nav-main-subroot-header .sidebar-menu-button[data-size], .nav-main-menu .sidebar-submenu-button, .nav-main-menu .sidebar-submenu-button[data-size] {
    font-size: var(--text-ui);
    padding-block: var(--space-xs);
    block-size: auto;
  }

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

  .nav-main-link[data-completed]:not([data-active="true"]), .sidebar-submenu-button[data-completed]:not([data-active="true"]) {
    color: color-mix(in oklab, var(--ink) 55%, var(--accent));
  }

  .nav-main-complete-icon {
    color: var(--accent);
    opacity: .7;
    flex-shrink: 0;
  }

  .nav-main-menu svg.nav-main-complete-icon {
    block-size: .8125rem;
    inline-size: .8125rem;
  }

  :where(.nav-main-indicator) {
    display: inline-flex;
    color: var(--accent);
    opacity: .7;
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
  }

  :where(.nav-main-indicator) > svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :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 {
  :where(.nav-user-row) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xs);
    inline-size: 100%;
  }

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

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

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

  :where(.nav-user-menu-trigger):hover {
    color: var(--ink);
  }

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

  :where(.nav-user-name) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: var(--weight-medium);
  }

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

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

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

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

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

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

  :where(.nav-user-signin-cta) {
    flex: 1;
  }

  :where(.nav-user-theme-icon) {
    flex-shrink: 0;
  }

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

  :where(.nav-user-row[data-loading]) {
    background: color-mix(in oklab, var(--surface) 50%, transparent);
    border-radius: var(--radius-sm);
    animation: nav-user-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    min-block-size: 2.5rem;
  }

  @keyframes nav-user-pulse {
    0%, 100% {
      opacity: 1;
    }

    50% {
      opacity: .5;
    }
  }

  :where(.nav-user-compact-trigger) {
    display: flex;
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: opacity var(--duration) var(--ease);
    color: var(--muted);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    margin-inline-start: var(--space-xs);
    padding: 0;
  }

  :where(.nav-user-compact-trigger):hover {
    opacity: .8;
  }

  :where(.nav-user-compact-trigger):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.nav-user-compact-avatar) {
    --avatar-size: 1.25rem;
    font-size: .5rem;
  }

  :where(.nav-user-compact-skeleton) {
    border-radius: var(--radius-full);
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  :where(.nav-user-compact-guest) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  :where(.nav-user-compact-signin) {
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
  }

  :where(.nav-user-subscribe) {
    color: var(--accent);
  }

  :where(.nav-user-subscribe) svg {
    color: var(--accent);
  }

  :where(.nav-user-toggle-count) {
    padding-inline: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    color: var(--muted);
    background: var(--surface-alt);
    border-radius: var(--radius-full);
    text-align: center;
    min-inline-size: 1.25rem;
    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);
    align-self:  flex-start;
  }

  [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 */
.sheet-backdrop:has( + .sidebar-sheet) {
  background-color: color-mix(in oklab, var(--paper) 70%, transparent);
}

::view-transition-old(sidebar-sheet) {
  animation: sidebar-sheet-out .22s ease both;
}

::view-transition-new(sidebar-sheet) {
  animation: sidebar-sheet-in .22s ease both;
}

@keyframes sidebar-sheet-in {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }

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

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

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

@property --app-bg-gradient-opacity {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}

@layer components {
  @keyframes app-bg-gradient-fade {
    from {
      --app-bg-gradient-opacity: 1;
    }

    to {
      --app-bg-gradient-opacity: 0;
    }
  }

  :root {
    --sidebar-width: 20rem;
    --sidebar-radius: var(--radius-md);
  }

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

    to {
      opacity: 1;
    }
  }

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

    to {
      opacity: 0;
    }
  }

  :where(.app-layout) {
    --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-xs), .9vw, var(--space-sm));
    --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-xs), .8vw, var(--space-sm));
    --sidebar-inner-gap-collapsed: clamp(var(--space-xs), .8vw, var(--space-sm));
    --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));
    overscroll-behavior: none;
    overflow-x: clip;
    --app-bg-gradient: radial-gradient(70% 50% at 55% -5%, oklch(from var(--accent) .75 calc(c * .3) calc(h + 35) / calc(.06 * var(--app-bg-gradient-opacity, 1))) 35%, transparent 100%);
    --app-bg-base: color-mix(in oklab, var(--paper) 96%, transparent);
    background: var(--app-bg-gradient), var(--app-bg-base);
    animation: app-bg-gradient-fade linear both;
    animation-timeline: scroll();
    animation-range: 0 20rem;
    background-attachment: fixed;
    flex-direction: column;
    min-block-size: 100svh;
    inline-size: 100%;
    padding-block-start: calc(var(--sidebar-offset)  + var(--safe-area-top));
    padding-block-end: calc(var(--sidebar-offset)  + var(--safe-area-bottom));
    padding-inline-start: calc(var(--sidebar-offset)  + var(--safe-area-left));
    padding-inline-end: calc(var(--sidebar-offset)  + var(--safe-area-right));
    transition: gap .22s, padding-block-start .22s, padding-block-end .22s, padding-inline-start .22s, padding-inline-end .22s;
  }

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

  .app-layout[data-mobile="true"] {
    gap: 0;
  }

  .app-layout:has(.sidebar[data-variant="floating"]) {
    padding-block-start: calc(clamp(var(--space-sm), 1.2vw, var(--space-xs))  + var(--safe-area-top));
    padding-block-end: calc(clamp(var(--space-sm), 1.2vw, var(--space-xs))  + var(--safe-area-bottom));
    padding-inline-start: calc(clamp(var(--space-sm), 1.2vw, var(--space-xs))  + var(--safe-area-left));
    padding-inline-end: calc(clamp(var(--space-sm), 1.2vw, var(--space-xs))  + var(--safe-area-right));
  }

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

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

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

  @media (max-width: 47.9375rem) {
    .app-layout {
      flex-direction: column;
      gap: 0;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .app-layout {
      transition: none;
    }

    :where(.sidebar-container) {
      transition: none;
    }
  }

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

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

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

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

  :where(.sidebar-gap) {
    display: none;
  }

  :where(.sidebar-container) {
    position: sticky;
    display: flex;
    inline-size: min(var(--sidebar-width), 100%);
    block-size: calc(100svh - (var(--sidebar-offset) * 2)  - var(--safe-area-top)  - var(--safe-area-bottom));
    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;
    top: calc(var(--sidebar-offset)  + var(--safe-area-top));
    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)  + var(--sidebar-offset))));
    pointer-events: none;
  }

  .sidebar[data-side="right"][data-state="collapsed"][data-collapsible="offcanvas"] .sidebar-container {
    transform: translateX(calc(var(--sidebar-width)  + 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);
  }

  :where(.sidebar-inner) {
    display: flex;
    gap: var(--sidebar-inner-gap);
    border-radius: calc(var(--sidebar-radius)  - var(--sidebar-inner-radius-offset));
    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(--radius-md)));
  }

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

  :where(.sidebar-toggle) {
    --button-size: 1.75rem;
    border-radius: var(--radius-sm);
    transition: background-color var(--duration) ease, opacity var(--duration) ease;
    flex-shrink: 0;
  }

  :where(.sidebar-toggle-icon) {
    inline-size: calc(var(--space-md)  + var(--space-xs));
    block-size: calc(var(--space-md)  + var(--space-xs));
  }

  :where(.sidebar-toggle-edge) {
    transition: opacity var(--duration) var(--ease);
  }

  :where(.sidebar-toggle-panel) {
    transform-origin: inline-start center;
    transition: opacity var(--duration) ease, transform var(--duration) ease;
  }

  .sidebar-toggle-icon:not([data-expanded="true"]) .sidebar-toggle-edge {
    opacity: 1;
  }

  .sidebar-toggle-icon:not([data-expanded="true"]) .sidebar-toggle-panel {
    opacity: 0;
    transform: scaleX(0);
  }

  .sidebar-toggle-icon[data-expanded="true"] .sidebar-toggle-edge {
    opacity: 0;
  }

  .sidebar-toggle-icon[data-expanded="true"] .sidebar-toggle-panel {
    opacity: 1;
    transform: scaleX(1);
  }

  .sidebar-brand-toggle {
    margin-inline-end: var(--space-xs);
  }

  :where(.app-main) {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-block-size: 0;
    inline-size: 100%;
    min-inline-size: 0;
  }

  :where(.app-mobile-header-logo) {
    display: flex;
    color: var(--accent);
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  .app-mobile-header-logo > svg, .app-mobile-header-logo > img {
    object-fit: contain;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.app-mobile-header-name) {
    font-size: var(--text-sm);
    white-space: nowrap;
  }

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

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

  :where(.sidebar-brand) {
    position: relative;
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  :where(.sidebar-brand-link) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: inherit;
    transition: background-color var(--duration) var(--ease);
    flex: 1;
    min-inline-size: 0;
  }

  .sidebar-brand-link:hover {
    background-color: color-mix(in oklab, var(--ink) 6%, transparent);
  }

  :where(.sidebar-brand-logo) {
    display: flex;
    aspect-ratio: 1;
    color: var(--accent);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
    block-size: 2rem;
    inline-size: 2rem;
  }

  :where(.sidebar-brand-info) {
    display: grid;
    text-align: left;
    line-height: var(--leading-snug);
    flex: 1;
    min-inline-size: 0;
  }

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

  :where(.sidebar-brand-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);
  }

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

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

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

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

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

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

  :where(.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-block-start: -2rem;
  }

  .sidebar-group-action {
    --button-size: 1.25rem;
    color: var(--ink);
    position: absolute;
    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;
    top: calc(var(--space-sm)  - 2px);
  }

  .sidebar-group-action: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-xs);
  }

  .sidebar-group-action: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-xs);
  }

  .sidebar-group-action: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-xs);
  }

  .sidebar-group-action:-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-xs);
  }

  .sidebar-group-action:-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-xs);
  }

  .sidebar-group-action: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-xs);
  }

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

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

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

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

  :where(.sidebar-menu-button) {
    display: flex;
    justify-content: flex-start;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    text-align: left;
    font-size: var(--text-ui);
    line-height: var(--leading-normal);
    white-space: normal;
    outline: none;
    text-decoration: none;
    --button-bg: transparent;
    --button-bg-hover: transparent;
    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 > 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;
    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;
    top: calc(var(--space-sm)  - 2px);
  }

  .sidebar-menu-action: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-xs);
  }

  .sidebar-menu-action: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-xs);
  }

  .sidebar-menu-action: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-xs);
  }

  .sidebar-menu-action:-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-xs);
  }

  .sidebar-menu-action:-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-xs);
  }

  .sidebar-menu-action: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-xs);
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .sidebar-submenu-button {
    color: var(--ink);
    display: flex;
    text-align: start;
    min-block-size: calc(2rem - var(--space-xs));
    justify-content: flex-start;
    align-items:  center;
    gap: var(--space-sm);
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    white-space: normal;
    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 > 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 {
    --sidebar-mobile-inset: var(--space-sm);
    --sidebar-radius: clamp(var(--space-sm), 2vw, 1.25rem);
    color: var(--ink);
    inline-size: min(var(--sidebar-width), calc(100% - var(--sidebar-mobile-inset)));
    padding: var(--sidebar-container-padding, 0);
    --surface-bg: var(--sidebar-card-bg, color-mix(in oklab, var(--surface) 78%, transparent));
    --surface-shadow: var(--shadow-lg);
    view-transition-name: sidebar-sheet;
    touch-action: pan-y pinch-zoom;
    will-change: transform;
    border-radius: 0 var(--sidebar-radius) var(--sidebar-radius) 0 !important;
    border: none !important;
    block-size: 100svh !important;
    top: 0 !important;
    bottom: 0 !important;
  }

  .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))) {
    left: var(--sidebar-mobile-inset);
  }

  .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))) {
    left: var(--sidebar-mobile-inset);
  }

  .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))) {
    left: var(--sidebar-mobile-inset);
  }

  .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)) {
    right: var(--sidebar-mobile-inset);
  }

  .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)) {
    right: var(--sidebar-mobile-inset);
  }

  .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)) {
    right: var(--sidebar-mobile-inset);
  }

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

  :where(.sidebar-sheet-inner) {
    display: flex;
    gap: var(--sidebar-inner-gap, clamp(var(--space-xs), 1.2vw, var(--space-sm)));
    --_pad: var(--sidebar-inner-padding, clamp(var(--space-xs), 1.2vw, var(--space-sm)));
    padding-block-start: calc(var(--_pad)  + var(--safe-area-top));
    padding-block-end: calc(var(--_pad)  + var(--safe-area-bottom));
    padding-inline: var(--_pad);
    flex-direction: column;
    block-size: 100%;
    inline-size: 100%;
  }

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

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

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

  :where(.app-shell-content) {
    position: relative;
    display: flex;
    gap: var(--app-shell-content-gap, clamp(var(--space-md), 1.5vw, var(--space-lg)));
    padding-block-start: var(--app-shell-content-padding-block-start, var(--space-md));
    padding-block-end: var(--app-shell-content-padding-block-end, 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;
    min-block-size: 0;
  }

  :where(.app-shell-content)[data-padding="none"] {
    --app-shell-content-gap: 0px;
    --app-shell-content-padding-block-start: 0px;
    --app-shell-content-padding-block-end: 0px;
    --app-shell-content-padding-inline: 0px;
  }

  :where(.app-shell-content)[data-padding="compact"] {
    --app-shell-content-gap: clamp(var(--space-sm), 1.25vw, var(--space-md));
    --app-shell-content-padding-block-start: var(--space-sm);
    --app-shell-content-padding-block-end: clamp(var(--space-md), 1.6vw, var(--space-lg));
    --app-shell-content-padding-inline: clamp(var(--space-sm), 1.6vw, var(--space-md));
  }

  :where(.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: 90ch;
    max-inline-size: var(--prose-max-width);
    color: var(--ink);
    font-family: var(--font-content);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
  }

  :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-xl);
  }

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

  :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 var(--duration) var(--ease);
  }

  :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 a:has( > img)) {
    text-decoration: none;
    color: inherit;
  }

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

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

  :where(.Markdown .InternalLink) {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color var(--duration) var(--ease);
  }

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

  :where(.Markdown .InternalLink.is-broken) {
    color: var(--danger);
    text-decoration: line-through;
    text-decoration-color: var(--danger);
    cursor: not-allowed;
  }
}

/* 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/app-grid.css */
@layer components {
  @keyframes app-grid-item-in {
    from {
      opacity: 0;
      translate: 0 6px;
    }

    to {
      opacity: 1;
      translate: 0;
    }
  }

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

  :where(.app-grid > *) {
    animation: app-grid-item-in var(--duration) ease-out both;
    animation-delay: calc(var(--stagger-index, 0) * 60ms);
  }
}

/* packages/ui/src/styles/blocks/children-grid.css */
@property --shine-x {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -30%;
}

@property --shine-spread {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 8%;
}

@layer components {
  @keyframes children-grid-shine {
    0% {
      --shine-x: -30%;
      --shine-spread: 5%;
      opacity: 1;
    }

    35% {
      --shine-x: 130%;
      --shine-spread: 28%;
      opacity: .25;
    }

    35.1%, 100% {
      --shine-x: -30%;
      --shine-spread: 5%;
      opacity: 0;
    }
  }

  @keyframes children-grid-shine-hover {
    0% {
      --shine-x: -30%;
      --shine-spread: 5%;
      opacity: 1;
    }

    35% {
      --shine-x: 130%;
      --shine-spread: 28%;
      opacity: .25;
    }

    35.1%, 100% {
      --shine-x: -30%;
      --shine-spread: 5%;
      opacity: 0;
    }
  }

  :where(.children-grid) {
    margin-block: var(--space-md);
  }

  :where(.children-grid-title) {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    margin-block-end: var(--space-md);
  }

  :where(.children-grid-cards) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: var(--space-md);
  }

  :where(.children-grid-link) {
    display: block;
    text-decoration: none;
    color: var(--ink);
  }

  :where(.children-grid-skeleton-card) {
    min-block-size: 7rem;
  }

  :where(.children-grid-link[data-featured]) {
    position: relative;
    z-index: 0;
    transition: transform var(--duration) var(--ease);
  }

  :where(.children-grid-link[data-featured]):hover {
    transition-duration: calc(var(--duration) * 1.5);
    transform: scale(1.02);
  }

  :where(.children-grid-link[data-featured]):active {
    transform: scale(.98);
  }

  :where(.children-grid-link[data-featured]):before {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: calc(var(--surface-radius, var(--radius-lg))  + 1px);
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 40%, white) 0%, var(--accent) 5%, var(--line) 15%, var(--line) 85%, var(--accent) 95%, color-mix(in oklab, var(--accent) 40%, white) 100%);
    inset: -1px;
  }

  :where(.children-grid-card) {
    --card-padding: var(--space-md);
    position: relative;
    display: flex;
    overflow: hidden;
    color: var(--ink);
    flex-direction: column;
    block-size: 100%;
    min-block-size: 7rem;
  }

  :where(.children-grid-card[data-featured]) {
    --surface-shadow: var(--shadow-card);
  }

  .children-grid-card[data-featured]:hover, .children-grid-card[data-featured]:active {
    transform: none;
  }

  :where(.children-grid-card:has(.children-grid-image)) {
    min-block-size: 14rem;
  }

  :where(.children-grid-image) {
    position: absolute;
    z-index: 0;
    inset: 0;
  }

  :where(.children-grid-image .media-image) {
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.children-grid-image .media-image-img) {
    object-fit: cover;
    transition: transform var(--duration) var(--ease);
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.children-grid-image .media-image-placeholder) {
    object-fit: cover;
    transition: transform var(--duration) var(--ease);
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.children-grid-link:hover .children-grid-image .media-image-img) {
    transform: scale(1.05);
  }

  :where(.children-grid-image):after {
    content: "";
    position: absolute;
    background: linear-gradient(to top, color-mix(in oklab, var(--paper) 90%, transparent) 0%, color-mix(in oklab, var(--paper) 60%, transparent) 40%, transparent 100%);
    inset: 0;
  }

  :where(.children-grid-card .card-header) {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
  }

  :where(.children-grid-tags) {
    position: relative;
    z-index: 1;
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
  }

  :where(.children-grid-featured-wrap) {
    position: relative;
    z-index: 1;
    display: inline-flex;
    border-radius: var(--radius-full);
    overflow: hidden;
    align-self:  flex-start;
    padding: 1px;
  }

  :where(.children-grid-featured-wrap):after {
    content: "";
    position: absolute;
    background: linear-gradient(110deg, var(--line) calc(var(--shine-x)  - var(--shine-spread, 8%)), var(--accent) calc(var(--shine-x)  - 2%), color-mix(in oklab, var(--accent) 40%, white) var(--shine-x), var(--accent) calc(var(--shine-x)  + 2%), var(--line) calc(var(--shine-x)  + var(--shine-spread, 8%)));
    animation: children-grid-shine 6s ease-in 1 both;
    inset: 0;
  }

  :where(.children-grid-link[data-featured]:hover .children-grid-featured-wrap):after {
    animation: children-grid-shine-hover 6s ease-in 1 both;
  }

  :where(.children-grid-featured-badge) {
    --badge-bg: color-mix(in oklab, var(--surface) 80%, var(--accent));
    --badge-fg: var(--accent);
    --badge-px: var(--space-md);
    --badge-py: var(--space-sm);
    --badge-fs: var(--text-base);
    position: relative;
    z-index: 1;
  }

  :where(.children-grid-featured-badge) svg {
    block-size: .85em;
    inline-size: .85em;
  }
}

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

  :where(.radio-card-group[data-orientation="horizontal"]) {
    flex-flow: wrap;
  }

  :where(.radio-card) {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
    padding: var(--space-md);
    border: 1.5px solid var(--line);
    border-radius: var(--radius-lg);
    cursor: pointer;
    user-select: none;
    transition: border-color var(--duration) var(--ease), background var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
  }

  :where(.radio-card):hover:not([data-disabled]) {
    border-color: color-mix(in oklab, var(--accent) 60%, var(--line));
    background: color-mix(in oklab, var(--accent) 5%, transparent);
  }

  :where(.radio-card)[data-checked] {
    border-color: var(--accent);
    background: color-mix(in oklab, var(--accent) 8%, var(--surface));
    box-shadow: 0 0 0 .5px var(--accent);
  }

  :where(.radio-card)[data-disabled] {
    opacity: .5;
    cursor: not-allowed;
  }

  :where(.radio-card-indicator) {
    border: 1.5px solid var(--line);
    position: relative;
    transition: border-color var(--duration) var(--ease);
    border-radius: 50%;
    flex-shrink: 0;
    block-size: 1rem;
    inline-size: 1rem;
    margin-inline-start: auto;
  }

  :where(.radio-card-indicator):after {
    content: "";
    position: absolute;
    background: var(--accent);
    opacity: 0;
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
    border-radius: 50%;
    inset: 2px;
    transform: scale(.5);
  }

  :where(.radio-card[data-checked] .radio-card-indicator) {
    border-color: var(--accent);
  }

  :where(.radio-card[data-checked] .radio-card-indicator):after {
    opacity: 1;
    transform: scale(1);
  }

  :where(.radio-card-icon) {
    display: flex;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
    block-size: 2rem;
    inline-size: 2rem;
  }

  :where(.radio-card-icon) svg:not([class*="size-"]) {
    inline-size: var(--space-md);
    block-size: var(--space-md);
  }

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

  :where(.radio-card-title) {
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: var(--leading-normal);
  }

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

/* packages/ui/src/styles/blocks/protected-media.css */
@layer components {
  :where(.VideoLayer) {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    inset: 0;
  }

  :where(.VideoLayer) iframe {
    border-radius: var(--radius-md);
    border: 0;
  }

  :where(.ProtectedVideo, .ProtectedImage) {
    position: relative;
    margin-block: var(--space-lg);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

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

  :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: none;
  }

  :where(.ProtectedImage-wrapper) .media-image {
    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-family: var(--font-body);
    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(.media-image) {
    position: relative;
    display: block;
    overflow: hidden;
    background-color: #0000;
    height: 100%;
  }

  :where(.media-image-placeholder) {
    position: absolute;
    object-fit: cover;
    filter: blur(20px);
    opacity: 1;
    width: 100%;
    height: 100%;
    inset: 0;
    transform: scale(1.1);
  }

  :where(.media-image-img) {
    position: relative;
    object-fit: cover;
    opacity: 0;
    animation: media-image-fade-in var(--duration) ease-out forwards;
    width: 100%;
    height: 100%;
  }

  :where(.media-image-img[data-loaded]) {
    animation: none;
    opacity: 1;
  }

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

  :where(.media-image[data-instant]) .media-image-placeholder {
    display: none;
  }

  :where(.media-image[data-instant]) .media-image-img {
    animation: none;
    opacity: 1;
    transition: 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 - 3.5rem - var(--space-lg));
    overflow-y: auto;
    font-size: var(--text-sm);
    top: 3.5rem;
  }

  :where(.toc-title) {
    font-weight: var(--weight-semibold);
    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: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding-block: var(--space-2xs);
    color: var(--muted);
    text-decoration: none;
    transition: color var(--duration) var(--ease);
    border-inline-start: 2px solid #0000;
    margin-inline-start: calc(-1 * var(--space-sm)  - 2px);
    padding-inline-start: var(--space-sm);
  }

  :where(.toc-link [data-slot="truncate"]) {
    --truncate-fade: 1.5rem;
    flex: 1;
  }

  :where(.toc-dot) {
    background: var(--line);
    transition: background var(--duration) var(--ease);
    border-radius: 50%;
    flex-shrink: 0;
    block-size: 6px;
    inline-size: 6px;
  }

  :where(.toc-dot[data-past]) {
    background: var(--accent);
  }

  :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: var(--weight-medium);
  }

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

/* 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-md));
    padding-inline-start: var(--space-md);
  }

  :where(.title-back-nav-trigger) {
    position: absolute;
    z-index: 1;
    display: inline-flex;
    inline-size: var(--space-md);
    block-size: var(--space-xl);
    border-radius: var(--radius-sm);
    color: var(--muted);
    text-decoration: none;
    cursor: pointer;
    justify-content: center;
    align-items:  center;
    top: 50%;
    translate: 0 -50%;
  }

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

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

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

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

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

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

  :where(.title-back-nav-icon) {
    stroke-width: 2.5;
    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.5rem;
    inline-size: 1.5rem;
  }

  :where(.title-back-nav-title) {
    font-size: clamp(var(--text-2xl), 5vw, var(--text-4xl));
    letter-spacing: -.03em;
    margin: 0;
    font-weight: 700;
    line-height: 1.1;
  }

  .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 {
    color: var(--accent);
  }

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

  @media (hover: none) {
    .title-back-nav-icon {
      opacity: 1;
      transition: none;
      transform: translateX(0);
    }
  }

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

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

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

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

  :where(.content-page-body) {
    display: grid;
    grid-template-columns: 1fr 14rem;
    gap: var(--space-lg);
    max-inline-size: calc(90ch + var(--space-lg)  + 14rem);
    align-items:  start;
  }

  :where(.content-page-content) {
    max-inline-size: calc(90ch + var(--space-lg)  + 14rem);
    animation: content-page-fade-in .2s ease-out;
    min-inline-size: 0;
  }

  :where(.content-page-header) {
    margin-block-end: var(--space-xs);
  }

  :where(.content-page-content) > :where(.rule) {
    margin-block-end: var(--space-md);
  }

  :where(.content-page-h1) {
    font-size: var(--text-4xl);
    font-weight: var(--weight-bold);
    letter-spacing: -.03em;
    margin: 0;
  }

  :where(.content-page-content):not(:has(.content-page-body)) :where(.content-page-header) {
    max-inline-size: 90ch;
  }

  :where(.content-page-content):not(:has(.content-page-body)) > :where(.rule) {
    max-inline-size: 90ch;
  }

  :where(.content-page-identity) {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  :where(.content-page-engagement) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    min-block-size: 2.25rem;
    margin-block-start: var(--space-sm);
  }

  :where(.content-page-modalities) {
    flex: 1;
    min-inline-size: 0;
  }

  :where(.content-page-tools) {
    margin-inline-start: auto;
  }

  :where(.content-page-not-found-editable) {
    display: grid;
  }

  :where(.content-page-not-found-editable) > :first-child {
    justify-self: end;
  }

  :where(.content-toggles-group) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    border: none;
  }

  :where(.content-page-meta) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    color: var(--muted);
  }

  :where(.content-page-meta-dot) {
    user-select: none;
  }

  :where(.content-page-modalities) :where(.audio-player) {
    max-inline-size: 28rem;
  }

  :where(.content-page-modalities[data-pip]):has(.audio-player) {
    position: fixed;
    bottom: var(--space-xl);
    z-index: var(--z-overlay);
    inline-size: min(28rem, calc(100vw - var(--space-xl) * 2));
    interpolate-size: allow-keywords;
    transition: inline-size .3s var(--ease);
    left: 50vw;
    transform: translateX(-50%);
  }

  @media (prefers-reduced-motion: no-preference) {
    :where(.content-page-modalities[data-pip]):has(.audio-player) {
      animation: pip-enter .2s var(--ease) both;
    }
  }

  @keyframes pip-enter {
    from {
      opacity: 0;
      translate: 0 var(--space-md);
    }

    to {
      opacity: 1;
      translate: 0;
    }
  }

  @keyframes pip-exit {
    from {
      opacity: 1;
      translate: 0;
    }

    to {
      opacity: 0;
      translate: 0 var(--space-md);
    }
  }

  :where(.content-page-modalities[data-pip]):has(.audio-player) :where(.audio-player) {
    box-shadow: 0 0 0 1px var(--line), var(--shadow-md);
  }

  @media (prefers-reduced-motion: no-preference) {
    :where(.content-page-modalities[data-pip][data-pip-closing]):has(.audio-player) {
      animation: pip-exit .2s var(--ease) both;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    :where(.content-page-modalities[data-pip][data-pip-closing]):has(.audio-player) {
      opacity: 0;
    }
  }

  @keyframes content-page-listen-spin {
    to {
      transform: rotate(360deg);
    }
  }

  :where(.content-page-listen-loading) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--muted);
    padding-block: var(--space-xs);
  }

  :where(.content-page-listen-loading-spinner) {
    animation: content-page-listen-spin .8s linear infinite;
    flex-shrink: 0;
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.content-page-sidebar) {
    position: sticky;
    top: 3.5rem;
  }

  @media (max-width: calc(64rem - .001px)) {
    :where(.content-page-body) {
      grid-template-columns: 1fr;
    }

    :where(.content-page-sidebar) {
      display: none;
    }
  }

  :where(.toggle-list-page) {
    max-inline-size: 64rem;
  }

  :where(.toggle-list-page-header) {
    margin-block-end: var(--space-lg);
  }

  :where(.toggle-list-page-title) {
    font-size: var(--text-3xl);
    font-weight: var(--weight-bold);
    letter-spacing: -.02em;
    margin: 0;
  }

  :where(.toggle-list-page-description) {
    color: var(--muted);
    margin-block-start: var(--space-xs);
  }

  :where(.toggle-list-page-count) {
    display: block;
    font-size: var(--text-sm);
    color: var(--muted);
    margin-block-start: var(--space-xs);
  }

  :where(.toggle-list-page-list) {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  :where(.toggle-list-page-item) {
    border-radius: var(--radius-md);
    background: var(--surface);
    border: 1px solid var(--line);
    transition: all var(--duration) var(--ease);
  }

  :where(.toggle-list-page-item):hover {
    border-color: var(--accent);
    box-shadow: var(--shadow-sm);
  }

  :where(.toggle-list-page-item-link) {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-md);
    padding: var(--space-md);
    text-decoration: none;
    color: inherit;
  }

  :where(.toggle-list-page-item-main) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    min-inline-size: 0;
  }

  :where(.toggle-list-page-item-title) {
    font-weight: var(--weight-medium);
    color: var(--ink);
  }

  :where(.toggle-list-page-item-badges) {
    display: flex;
    align-items:  center;
    gap: var(--space-2xs);
    opacity: .85;
    flex-shrink: 0;
  }

  :where(.toggle-list-page-item-date) {
    font-size: var(--text-sm);
    color: var(--muted);
    flex-shrink: 0;
  }

  :where(.toggle-list-group-header) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  :where(.toggle-list-group-trigger) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-block: var(--space-sm);
    font-weight: var(--weight-medium);
    text-align: start;
    flex: 1;
    min-inline-size: 0;
  }

  :where(.toggle-list-group-trigger-title) {
    flex: 1;
    min-inline-size: 0;
  }

  :where(.toggle-list-group-chevron) {
    transition: transform var(--duration) var(--ease);
    flex-shrink: 0;
  }

  :where([data-state="open"] .toggle-list-group-chevron) {
    transform: rotate(180deg);
  }

  :where(.toggle-list-group-link-btn) {
    display: flex;
    padding: var(--space-xs);
    color: var(--muted);
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: color var(--duration) var(--ease);
    flex-shrink: 0;
    justify-content: center;
    align-items:  center;
  }

  :where(.toggle-list-group-link-btn):hover {
    color: var(--ink);
  }

  :where(.toggle-list-group-link-btn):focus-visible {
    color: var(--ink);
  }
}

/* packages/ui/src/styles/blocks/content-editor.css */
@layer components {
  :where(.base-markdown-editor) {
    display: flex;
    gap: var(--space-md);
    flex: 1;
    min-block-size: 0;
  }

  :where(.base-markdown-editor)[data-mode="split"] {
    flex-direction: row;
  }

  :where(.base-markdown-editor)[data-mode="edit"] {
    flex-direction: column;
  }

  :where(.base-markdown-editor)[data-mode="preview"] {
    flex-direction: column;
  }

  :where(.base-markdown-editor-panel) {
    display: flex;
    border-radius: var(--radius-md);
    background: var(--surface);
    border: 1px solid var(--line);
    overflow: hidden;
    flex-direction: column;
    flex: 1;
    min-block-size: 0;
  }

  :where(.base-markdown-editor-panel-header) {
    display: flex;
    padding: var(--space-sm) var(--space-md);
    border-block-end: 1px solid var(--line);
    background: var(--surface-alt);
    justify-content: space-between;
    align-items:  center;
    min-block-size: 2.75rem;
  }

  :where(.base-markdown-editor-panel-header-left) {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
  }

  :where(.base-markdown-editor-panel-title) {
    font-size: var(--text-sm);
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 500;
  }

  :where(.base-markdown-editor-panel-stats) {
    font-size: var(--text-xs);
    color: var(--muted);
    opacity: .75;
  }

  :where(.base-markdown-editor-panel-actions) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.base-markdown-editor-textarea-wrapper) {
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    flex: 1;
    min-block-size: 0;
  }

  :where(.base-markdown-editor-textarea) {
    padding: var(--space-md);
    font-family: var(--font-mono);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--ink);
    resize: none;
    outline: none;
    overflow-y: auto;
    background: none;
    border: none;
    flex: 1;
    min-block-size: 0;
  }

  :where(.base-markdown-editor-textarea)::placeholder {
    color: var(--muted);
  }

  :where(.base-markdown-editor-preview-content) {
    padding: var(--space-md);
    overflow-y: auto;
    flex: 1;
    min-block-size: 0;
  }

  :where(.base-markdown-editor-preview-fallback) {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    white-space: pre-wrap;
    color: var(--muted);
  }

  :where(.content-editor) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
    block-size: 100%;
    min-block-size: 0;
  }

  :where(.content-editor-status) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.content-editor-toolbar) {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
  }

  :where(.content-editor-layout) {
    display: flex;
    flex: 1;
    min-block-size: 0;
  }

  :where(.content-editor-panel) {
    display: flex;
    border-radius: var(--radius-md);
    background: var(--surface);
    border: 1px solid var(--line);
    overflow: hidden;
    flex-direction: column;
    min-block-size: 0;
  }

  :where(.content-editor-panel-header) {
    display: flex;
    padding: var(--space-sm) var(--space-md);
    border-block-end: 1px solid var(--line);
    background: var(--surface-alt);
    justify-content: space-between;
    align-items:  center;
    min-block-size: 2.75rem;
  }

  :where(.content-editor-panel-header-left) {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
  }

  :where(.content-editor-panel-title) {
    font-size: var(--text-sm);
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 500;
  }

  :where(.content-editor-panel-stats) {
    font-size: var(--text-xs);
    color: var(--muted);
    opacity: .75;
  }

  :where(.content-editor-panel-actions) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.content-editor-save-state) {
    font-size: var(--text-xs);
    color: var(--muted);
  }

  :where(.content-editor-save-state)[data-state="dirty"] {
    color: var(--warning);
  }

  :where(.content-editor-save-state)[data-state="saving"] {
    color: var(--accent);
  }

  :where(.content-editor-save-state)[data-state="saved"] {
    color: var(--positive);
  }

  :where(.content-editor-save-state)[data-state="error"] {
    color: var(--danger);
  }

  :where(.content-editor-button) {
    display: inline-flex;
    border-radius: var(--radius-sm);
    color: var(--muted);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    block-size: 1.75rem;
    inline-size: 1.75rem;
  }

  :where(.content-editor-button):hover {
    background: var(--surface);
    color: var(--ink);
  }

  :where(.content-editor-button) svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.content-editor-textarea-wrapper) {
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    flex: 1;
    min-block-size: 0;
  }

  :where(.content-editor-textarea) {
    padding: var(--space-md);
    font-family: var(--font-mono);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--ink);
    resize: none;
    outline: none;
    overflow-y: auto;
    background: none;
    border: none;
    flex: 1;
    min-block-size: 0;
  }

  :where(.content-editor-textarea)::placeholder {
    color: var(--muted);
  }

  :where(.content-editor-preview-content) {
    padding: var(--space-md);
    overflow-y: auto;
    flex: 1;
    min-block-size: 0;
  }

  :where(.content-editor-preview-fallback) {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    white-space: pre-wrap;
    color: var(--muted);
  }

  :where(.InlineContentEditor) {
    position: absolute;
    display: flex;
    flex-direction: column;
    inset: 0;
  }

  :where(.InlineContentEditor-header) {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    padding-block-end: var(--space-md);
  }

  :where(.InlineContentEditor-back) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    border: none;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline-start: calc(-1 * var(--space-sm));
  }

  :where(.InlineContentEditor-back):hover {
    color: var(--ink);
    background: var(--surface);
  }

  :where(.InlineContentEditor-title-row) {
    display: flex;
    justify-content: start;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.InlineContentEditor-title) {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    color: var(--ink);
    margin: 0;
    font-weight: 700;
  }

  :where(.command-palette-item-label) {
    font-weight: 500;
  }

  :where(.command-palette-item-description) {
    font-size: var(--text-xs);
    color: var(--muted);
  }

  :where(.command-palette-item:has(.command-palette-item-description) .command-palette-item-content) {
    display: flex;
    gap: calc(var(--space-xs) / 2);
    flex-direction: column;
    align-items:  flex-start;
  }

  :where(.edit-page) {
    display: flex;
    gap: var(--space-lg);
    flex-direction: column;
    block-size: 100%;
  }

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

  :where(.edit-page-back) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    border: none;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline-start: calc(-1 * var(--space-sm));
  }

  :where(.edit-page-back):hover {
    color: var(--ink);
    background: var(--surface);
  }

  :where(.edit-page-back) svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

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

  :where(.edit-page-title) {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    color: var(--ink);
    margin: 0;
    font-weight: 700;
  }

  :where(.edit-page-badges) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    margin-block-start: var(--space-xs);
  }

  :where(.edit-page-editor) {
    flex: 1;
    min-block-size: 0;
  }

  :where(.edit-page-loading) {
    display: flex;
    color: var(--muted);
    justify-content: center;
    align-items:  center;
    block-size: 100%;
  }

  :where(.zen-mode) {
    inset: var(--space-lg);
    display: flex;
    flex-direction: column;
    inline-size: auto;
    max-inline-size: none;
    transform: none;
  }

  :where(.zen-mode-toolbar) {
    display: flex;
    padding: var(--space-sm) var(--space-md);
    border-block-end: 1px solid var(--line);
    background: var(--surface);
    justify-content: space-between;
    align-items:  center;
  }

  :where(.zen-mode-toolbar-left) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.zen-mode-toolbar-right) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  :where(.zen-mode-button) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    border: none;
  }

  :where(.zen-mode-button):hover {
    color: var(--ink);
    background: var(--surface-alt);
  }

  :where(.zen-mode-button)[data-active] {
    color: var(--ink);
    background: var(--surface-alt);
  }

  :where(.zen-mode-button) svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.zen-mode-button[data-icon-only]) {
    padding: var(--space-xs);
  }

  :where(.zen-mode-button[data-icon-only]) span {
    display: none;
  }

  :where(.zen-mode-layout-toggle) {
    display: inline-flex;
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
    padding: calc(var(--space-xs) / 2);
    gap: 0;
  }

  :where(.zen-mode-layout-toggle) .zen-mode-button {
    padding: var(--space-xs);
    border-radius: calc(var(--radius-sm)  - calc(var(--space-xs) / 2));
  }

  :where(.zen-mode-layout-toggle) .zen-mode-button[data-active] {
    background: var(--paper);
    box-shadow: var(--shadow-sm);
  }

  :where(.zen-mode-kbd-help) {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
    font-size: var(--text-sm);
    color: var(--muted);
  }

  :where(.zen-mode-kbd-help) kbd {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    padding: calc(var(--space-xs) / 2) var(--space-sm);
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
    border: 1px solid var(--line);
  }

  :where(.zen-mode-close) {
    margin-inline-start: var(--space-sm);
  }

  :where(.zen-mode-content) {
    display: grid;
    flex: 1;
    gap: 0;
    min-block-size: 0;
  }

  :where(.zen-mode-content)[data-layout="horizontal"] {
    grid-template-columns: 1fr 1fr;
  }

  :where(.zen-mode-content)[data-layout="vertical"] {
    grid-template-rows: 1fr 1fr;
  }

  :where(.zen-mode-content)[data-layout="edit"] {
    grid-template-columns: 1fr;
  }

  :where(.zen-mode-editor) {
    position: relative;
    overflow: hidden;
    min-block-size: 0;
  }

  [data-layout="horizontal"] :where(.zen-mode-editor) {
    border-inline-end: 1px solid var(--line);
  }

  [data-layout="vertical"] :where(.zen-mode-editor) {
    border-block-end: 1px solid var(--line);
  }

  :where(.zen-mode-preview) {
    overflow-y: auto;
    padding: var(--space-lg);
    min-block-size: 0;
  }

  :where(.zen-mode-textarea) {
    padding: var(--space-lg);
    font-family: var(--font-mono);
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    color: var(--ink);
    resize: none;
    outline: none;
    background: none;
    border: none;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.zen-mode-textarea)::placeholder {
    color: var(--muted);
  }

  :where(.zen-mode-preview-fallback) {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    white-space: pre-wrap;
    color: var(--muted);
  }

  :where(.image-picker) {
    min-block-size: 70vh;
    max-block-size: 70vh;
    max-inline-size: 40rem;
  }

  :where(.image-picker-body) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  :where(.image-picker-search) {
    position: relative;
    display: flex;
    align-items:  center;
  }

  :where(.image-picker-search-icon) {
    position: absolute;
    color: var(--muted);
    pointer-events: none;
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.image-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.image-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.image-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.image-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.image-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.image-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.image-picker-search-input).input {
    inline-size: 100%;
    padding-inline-start: calc(var(--space-sm)  + 1rem + var(--space-xs));
  }

  :where(.image-picker-loading) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--muted);
    text-align: center;
    flex-direction: column;
    flex: 1;
  }

  :where(.image-picker-empty) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--muted);
    text-align: center;
    flex-direction: column;
    flex: 1;
  }

  :where(.image-picker-empty-icon) {
    color: var(--line);
    block-size: 3rem;
    inline-size: 3rem;
  }

  :where(.image-picker-empty-hint) {
    font-size: var(--text-sm);
    margin: 0;
  }

  :where(.image-picker-grid) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
    align-items:  start;
    gap: var(--space-sm);
    padding: var(--space-xs);
  }

  :where(.image-picker-item) {
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-xs);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    flex-direction: column;
  }

  :where(.image-picker-item):hover {
    border-color: var(--accent);
    background: var(--surface);
  }

  :where(.image-picker-item):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.image-picker-item-thumb) {
    position: relative;
    aspect-ratio: 1;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--surface-alt);
  }

  :where(.image-picker-item-thumb) img {
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.image-picker-item-placeholder) {
    display: flex;
    color: var(--muted);
    justify-content: center;
    align-items:  center;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.image-picker-item-placeholder) svg {
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  :where(.image-picker-item-badge) {
    position: absolute;
    display: flex;
    background: var(--paper);
    border-radius: var(--radius-sm);
    color: var(--accent);
    box-shadow: var(--shadow-sm);
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
    top: var(--space-xs);
  }

  :where(.image-picker-item-badge) svg {
    block-size: .75rem;
    inline-size: .75rem;
  }

  :where(.image-picker-item-info) {
    display: flex;
    gap: calc(var(--space-xs) / 2);
    flex-direction: column;
    align-items:  flex-start;
  }

  :where(.image-picker-item-name) {
    font-size: var(--text-xs);
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-inline-size: 100%;
    font-weight: 500;
  }

  :where(.image-picker-loadmore) {
    display: flex;
    justify-content: center;
    padding-block-start: var(--space-sm);
  }

  :where(.page-picker) {
    max-block-size: 80vh;
    max-inline-size: 32rem;
  }

  :where(.page-picker-content) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
    padding-block-end: var(--space-md);
  }

  :where(.page-picker-search) {
    position: relative;
    display: flex;
    align-items:  center;
  }

  :where(.page-picker-search-icon) {
    position: absolute;
    color: var(--muted);
    pointer-events: none;
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.page-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.page-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.page-picker-search-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))) {
    left: var(--space-sm);
  }

  :where(.page-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.page-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.page-picker-search-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)) {
    right: var(--space-sm);
  }

  :where(.page-picker-search-input).input {
    inline-size: 100%;
    padding-inline-start: calc(var(--space-sm)  + 1rem + var(--space-xs));
  }

  :where(.page-picker-empty) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--muted);
    text-align: center;
    flex-direction: column;
  }

  :where(.page-picker-empty-icon) {
    color: var(--line);
    block-size: 3rem;
    inline-size: 3rem;
  }

  :where(.page-picker-empty-hint) {
    font-size: var(--text-sm);
    margin: 0;
  }

  :where(.page-picker-list) {
    list-style: none;
    display: flex;
    overflow-y: auto;
    flex-direction: column;
    max-block-size: 50vh;
    margin: 0;
    padding: 0;
  }

  :where(.page-picker-item) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-inline-start: calc(var(--space-md)  + var(--depth, 0) * var(--space-md));
    padding-inline-end: var(--space-md);
    padding-block: var(--space-sm);
    text-align: start;
    border-radius: 0;
    justify-content: flex-start;
    font-weight: normal;
  }

  :where(.page-picker-item):hover {
    background: var(--surface-alt);
  }

  :where(.page-picker-item):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  :where(.page-picker-item-icon) {
    color: var(--muted);
    flex-shrink: 0;
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.page-picker-item-title) {
    font-size: var(--text-sm);
    color: var(--ink);
    flex-shrink: 0;
  }

  :where(.page-picker-item[data-no-title] .page-picker-item-title) {
    color: var(--muted);
    font-style: italic;
  }

  :where(.page-picker-item-path) {
    font-size: var(--text-xs);
    color: var(--muted);
    flex-shrink: 0;
  }

  :where(.metadata-panel) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  :where(.metadata-panel-empty) {
    padding: var(--space-lg);
    text-align: center;
    color: var(--muted);
  }

  :where(.metadata-panel-section) {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
  }

  :where(.metadata-panel-section[data-width="half"]) {
    flex: 1;
    min-inline-size: 0;
  }

  :where(.metadata-panel-row) {
    display: flex;
    gap: var(--space-md);
  }

  :where(.metadata-panel-label) {
    font-size: var(--text-sm);
    color: var(--muted);
    font-weight: 500;
  }

  :where(.metadata-panel-value) {
    font-size: var(--text-sm);
    color: var(--ink);
  }

  :where(.metadata-panel-input) {
    padding: var(--space-sm);
    font-size: var(--text-base);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    transition: all var(--duration) var(--ease);
  }

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

  :where(.metadata-panel-input)[data-error] {
    border-color: var(--danger);
  }

  :where(.metadata-panel-textarea) {
    padding: var(--space-sm);
    font-size: var(--text-base);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    transition: all var(--duration) var(--ease);
  }

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

  :where(.metadata-panel-textarea)[data-error] {
    border-color: var(--danger);
  }

  :where(.metadata-panel-textarea) {
    resize: vertical;
    min-block-size: 4rem;
  }

  :where(.metadata-panel-error) {
    font-size: var(--text-xs);
    color: var(--danger);
  }

  :where(.metadata-panel-select-wrapper) {
    position: relative;
  }

  :where(.metadata-panel-select) {
    padding: var(--space-sm);
    font-size: var(--text-base);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    appearance: none;
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    inline-size: 100%;
    padding-inline-end: var(--space-xl);
  }

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

  :where(.metadata-panel-select-icon) {
    position: absolute;
    color: var(--muted);
    pointer-events: none;
    block-size: 1rem;
    inline-size: 1rem;
    top: 50%;
    transform: translateY(-50%);
  }

  :where(.metadata-panel-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(.metadata-panel-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(.metadata-panel-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(.metadata-panel-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(.metadata-panel-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(.metadata-panel-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);
  }

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

  :where(.metadata-panel-tag) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: calc(var(--space-xs) / 2) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--ink);
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
  }

  :where(.metadata-panel-tag) button {
    display: inline-flex;
    color: var(--muted);
    cursor: pointer;
    transition: color var(--duration) var(--ease);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    padding: 0;
  }

  :where(.metadata-panel-tag) button:hover {
    color: var(--danger);
  }

  :where(.metadata-panel-tag) button svg {
    block-size: .75rem;
    inline-size: .75rem;
  }

  :where(.metadata-panel-tag-input) {
    display: flex;
    gap: var(--space-xs);
  }

  :where(.metadata-panel-tag-input) input {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    flex: 1;
  }

  :where(.metadata-panel-tag-input) input:focus {
    outline: none;
    border-color: var(--accent);
  }

  :where(.metadata-panel-tag-input) button {
    display: inline-flex;
    padding: var(--space-xs);
    background: var(--accent);
    color: var(--on-accent);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: opacity var(--duration) var(--ease);
    border: none;
    justify-content: center;
    align-items:  center;
  }

  :where(.metadata-panel-tag-input) button:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  :where(.metadata-panel-tag-input) button svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.metadata-panel-featured-image) {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  :where(.metadata-panel-featured-image-preview) {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--surface-alt);
    max-block-size: 10rem;
  }

  :where(.metadata-panel-featured-image-preview) img {
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.metadata-panel-featured-image-placeholder) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-xs);
    color: var(--muted);
    font-size: var(--text-xs);
    flex-direction: column;
    block-size: 100%;
    inline-size: 100%;
  }

  :where(.metadata-panel-featured-image-placeholder) svg {
    opacity: .5;
    block-size: 1.5rem;
    inline-size: 1.5rem;
  }

  :where(.metadata-panel-featured-image-placeholder) span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-inline-size: 80%;
  }

  :where(.metadata-panel-featured-image-actions) {
    display: flex;
    gap: var(--space-xs);
  }

  :where(.metadata-panel-featured-image-actions) button {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
  }

  :where(.metadata-panel-featured-image-actions) button:hover {
    border-color: var(--accent);
    background: var(--surface-alt);
  }

  :where(.metadata-panel-featured-image-add) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-md);
    color: var(--muted);
    background: var(--surface);
    border: 1px dashed var(--line);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
  }

  :where(.metadata-panel-featured-image-add):hover:not(:disabled) {
    border-color: var(--accent);
    color: var(--ink);
    border-style: solid;
  }

  :where(.metadata-panel-featured-image-add):disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  :where(.metadata-panel-featured-image-add) svg {
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  :where(.page-organizer) {
    max-inline-size: 36rem;
  }

  :where(.page-organizer-description) {
    font-size: var(--text-sm);
    color: var(--muted);
    margin: 0;
  }

  :where(.page-organizer-tree) {
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    max-block-size: 24rem;
  }

  :where(.page-organizer-tree)[data-processing] {
    opacity: .6;
    pointer-events: none;
  }

  :where(.page-organizer-root) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    border-block-end: 1px solid var(--line);
    background: var(--surface-alt);
    transition: background var(--duration) var(--ease);
  }

  :where(.page-organizer-root)[data-drop-inside] {
    background: color-mix(in oklab, var(--accent) 15%, var(--surface));
  }

  :where(.page-organizer-list) {
    display: flex;
    flex-direction: column;
  }

  :where(.page-organizer-row) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    transition: background var(--duration) var(--ease), opacity var(--duration) var(--ease);
  }

  :where(.page-organizer-row):hover {
    background: var(--surface-alt);
  }

  :where(.page-organizer-row)[data-ghost] {
    opacity: .4;
  }

  :where(.page-organizer-row)[data-clone] {
    background: var(--paper);
    border: 1px solid var(--accent);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
  }

  :where(.page-organizer-handle) {
    display: flex;
    border-radius: var(--radius-sm);
    cursor: grab;
    color: var(--muted);
    transition: all var(--duration) var(--ease);
    touch-action: none;
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
    padding: 0;
  }

  :where(.page-organizer-handle):hover {
    background: var(--surface-alt);
    color: var(--ink);
  }

  :where(.page-organizer-handle):active {
    cursor: grabbing;
  }

  :where(.page-organizer-handle) svg {
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.page-organizer-toggle) {
    display: flex;
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--muted);
    transition: all var(--duration) var(--ease);
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
    padding: 0;
  }

  :where(.page-organizer-toggle):hover {
    background: var(--surface-alt);
    color: var(--ink);
  }

  :where(.page-organizer-toggle-spacer) {
    display: block;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }

  :where(.page-organizer-chevron) {
    transition: transform var(--duration) var(--ease);
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.page-organizer-chevron)[data-expanded] {
    transform: rotate(90deg);
  }

  :where(.page-organizer-icon) {
    color: var(--muted);
    flex-shrink: 0;
    block-size: 1rem;
    inline-size: 1rem;
  }

  :where(.page-organizer-title) {
    font-size: var(--text-sm);
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
  }

  :where(.page-organizer-count) {
    display: flex;
    padding-inline: calc(var(--space-xs) / 2);
    font-size: var(--text-xs);
    color: var(--paper);
    background: var(--accent);
    border-radius: var(--radius-full);
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    min-inline-size: 1.25rem;
    font-weight: 500;
  }

  :where(.access-picker) {
    position: relative;
    display: inline-flex;
    border: none;
    flex-shrink: 0;
    align-items:  center;
    min-inline-size: 0;
    margin-inline-start: auto;
    padding: 0;
  }

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

  :where(.access-picker-badge) {
    font: inherit;
    display: flex;
    font-size: var(--text-xs);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    border: none;
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
    padding: 0;
    font-weight: 600;
  }

  :where(.access-picker-badge):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.access-picker-badge)[data-access="inherit"] {
    background: var(--surface-alt);
    color: var(--muted);
  }

  :where(.access-picker-badge)[data-access="public"] {
    background: color-mix(in oklab, var(--positive) 20%, var(--surface));
    color: var(--positive);
  }

  :where(.access-picker-badge)[data-access="auth"] {
    background: color-mix(in oklab, var(--warning) 20%, var(--surface));
    color: var(--warning);
  }

  :where(.access-picker-badge)[data-access="membership"] {
    background: color-mix(in oklab, var(--danger) 20%, var(--surface));
    color: var(--danger);
  }

  :where(.access-picker-badge)[data-inherited] {
    opacity: .8;
    border: 1px dashed;
  }

  :where(.access-picker-options) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  :where(.access-picker-option) {
    display: flex;
    font-size: var(--text-xs);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    border: none;
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    inline-size: 1.25rem;
    font-weight: 600;
  }

  :where(.access-picker-option)[data-access="inherit"] {
    background: var(--surface-alt);
    color: var(--muted);
  }

  :where(.access-picker-option)[data-access="inherit"]:hover {
    background: var(--surface);
    color: var(--ink);
  }

  :where(.access-picker-option)[data-access="public"] {
    background: color-mix(in oklab, var(--positive) 15%, var(--surface));
    color: var(--positive);
  }

  :where(.access-picker-option)[data-access="public"]:hover {
    background: color-mix(in oklab, var(--positive) 25%, var(--surface));
  }

  :where(.access-picker-option)[data-access="auth"] {
    background: color-mix(in oklab, var(--warning) 15%, var(--surface));
    color: var(--warning);
  }

  :where(.access-picker-option)[data-access="auth"]:hover {
    background: color-mix(in oklab, var(--warning) 25%, var(--surface));
  }

  :where(.access-picker-option)[data-access="membership"] {
    background: color-mix(in oklab, var(--danger) 15%, var(--surface));
    color: var(--danger);
  }

  :where(.access-picker-option)[data-access="membership"]:hover {
    background: color-mix(in oklab, var(--danger) 25%, var(--surface));
  }

  :where(.access-picker-option)[data-selected] {
    box-shadow: 0 0 0 2px;
  }

  :where(.access-picker-option):has(input:focus-visible) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.metadata-dialog) {
    max-inline-size: 32rem;
  }

  :where(.metadata-dialog .metadata-panel) {
    overflow-y: auto;
    max-block-size: 60vh;
  }

  :where(.version-history-dialog) {
    max-inline-size: 56rem;
  }

  :where(.version-history-dialog-layout) {
    display: grid;
    grid-template-columns: 1fr 16rem;
    block-size: 60vh;
    min-block-size: 24rem;
  }

  :where(.version-history-dialog-preview) {
    position: relative;
    border-inline-end: 1px solid var(--line);
    padding: var(--space-md);
    overflow-y: auto;
    background: var(--surface);
    transition: opacity var(--duration) var(--ease);
  }

  :where(.version-history-dialog-preview)[data-loading="true"] {
    opacity: 0;
    pointer-events: none;
  }

  :where(.version-history-dialog-actions) {
    position: sticky;
    display: flex;
    justify-content: end;
    align-items:  end;
    gap: var(--space-sm);
    padding: var(--space-md);
    margin-block-start: var(--space-md);
    margin-inline: calc(-1 * var(--space-md));
    background: linear-gradient(to top, oklch(0 0 0 / .6), oklch(0 0 0 / .6), oklch(0 0 0 / 0));
    block-size: 7rem;
    margin-block-end: calc(-1 * var(--space-md));
    bottom: calc(-1 * var(--space-md));
  }

  :where(.version-history-dialog-preview-empty) {
    display: flex;
    color: var(--muted);
    font-size: var(--text-sm);
    justify-content: center;
    align-items:  center;
    block-size: 100%;
  }

  :where(.version-history-dialog-preview-error) {
    display: flex;
    color: var(--danger);
    font-size: var(--text-sm);
    justify-content: center;
    align-items:  center;
    block-size: 100%;
  }

  :where(.version-history-dialog-preview-raw) {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
  }

  :where(.version-history-dialog-versions) {
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-md);
    overflow-y: auto;
    background: var(--paper);
    flex-direction: column;
  }

  :where(.version-history-dialog-card) {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    cursor: pointer;
    text-align: start;
    transition: all var(--duration) var(--ease);
  }

  :where(.version-history-dialog-card):hover:not([data-selected]) {
    border-color: var(--accent);
    background: var(--surface-alt);
  }

  :where(.version-history-dialog-card)[data-selected] {
    border-color: var(--accent);
    background: color-mix(in oklab, var(--accent) 10%, var(--surface));
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 25%, transparent);
  }

  :where(.version-history-dialog-card):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.version-history-dialog-card-time) {
    font-size: var(--text-sm);
    color: var(--ink);
    font-weight: 500;
  }

  :where(.version-history-dialog-empty) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--muted);
    text-align: center;
    flex-direction: column;
    block-size: 100%;
  }

  :where(.version-history-dialog-empty) p {
    margin: 0;
  }

  :where(.version-history-dialog-empty-hint) {
    font-size: var(--text-sm);
    opacity: .75;
  }

  :where(.version-history-dialog-checkpoint) {
    display: flex;
    justify-content: center;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
    color: var(--muted);
    border: 1px dashed var(--line);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    background: none;
    margin-block-start: var(--space-sm);
  }

  :where(.version-history-dialog-checkpoint):hover:not(:disabled) {
    color: var(--ink);
    border-color: var(--accent);
    border-style: solid;
  }

  :where(.version-history-dialog-checkpoint):disabled {
    opacity: .5;
    cursor: not-allowed;
  }
}

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

  :where(.pagination) [aria-disabled="true"] {
    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/filter-bar.css */
@layer components {
  :where(.filter-bar) {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background: color-mix(in oklab, var(--surface) 90%, transparent);
    border-radius: var(--radius-lg);
    flex-wrap: wrap;
  }

  .filter-bar-search {
    position: relative;
    display: flex;
    flex: 14rem;
    align-items:  center;
    min-inline-size: 0;
  }

  .filter-bar-search-icon {
    position: absolute;
    color: var(--muted);
    pointer-events: none;
  }

  .filter-bar-search-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))) {
    left: var(--space-sm);
  }

  .filter-bar-search-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))) {
    left: var(--space-sm);
  }

  .filter-bar-search-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))) {
    left: var(--space-sm);
  }

  .filter-bar-search-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)) {
    right: var(--space-sm);
  }

  .filter-bar-search-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)) {
    right: var(--space-sm);
  }

  .filter-bar-search-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)) {
    right: var(--space-sm);
  }

  .filter-bar-search-input {
    padding-inline-start: calc(var(--space-sm)  + 1.25rem);
  }

  .filter-bar-dropdown {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  .filter-bar-count {
    display: inline-flex;
    padding-inline: var(--space-xs);
    background: var(--accent);
    color: var(--paper);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    justify-content: center;
    align-items:  center;
    block-size: 1.25rem;
    min-inline-size: 1.25rem;
    font-weight: 600;
  }

  .filter-bar-clear {
    color: var(--muted);
  }

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

  .filter-bar-tag {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding-inline-start: var(--space-sm);
    padding-inline-end: var(--space-xs);
    padding-block: var(--space-2xs);
    background: var(--accent);
    color: var(--paper);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
  }

  .filter-bar-tag-remove {
    display: inline-flex;
    padding: var(--space-2xs);
    border-radius: var(--radius-full);
    color: inherit;
    opacity: .8;
    cursor: pointer;
    background: none;
    border: none;
    justify-content: center;
    align-items:  center;
  }

  .filter-bar-tag-remove:where(:hover) {
    opacity: 1;
  }
}

/* packages/ui/src/styles/blocks/filter-chip.css */
@layer components {
  :where(.filter-chip) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border: 1px solid var(--line);
    border-radius: var(--radius-full);
    font: inherit;
    font-size: var(--text-xs);
    cursor: pointer;
    transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);
    background: none;
  }

  .filter-chip:hover {
    background: var(--surface-alt);
  }

  .filter-chip[data-selected] {
    background: var(--accent-subtle);
    border-color: var(--accent);
    color: var(--accent);
  }

  .filter-chip-label {
    white-space: nowrap;
  }

  .filter-chip-count {
    font-variant-numeric: tabular-nums;
    opacity: .7;
  }

  .filter-chip[data-selected] .filter-chip-count {
    opacity: 1;
  }
}

/* packages/ui/src/styles/blocks/batch-action-bar.css */
@layer components {
  :where(.batch-action-bar) {
    position: fixed;
    z-index: 50;
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-lg);
    bottom: var(--space-xl);
    translate: -50%;
  }

  :where(.batch-action-bar):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%;
  }

  :where(.batch-action-bar):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%;
  }

  :where(.batch-action-bar):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%;
  }

  :where(.batch-action-bar):-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%;
  }

  :where(.batch-action-bar):-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%;
  }

  :where(.batch-action-bar):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%;
  }

  :where(.batch-action-bar-count) {
    font-size: var(--text-sm);
    white-space: nowrap;
    padding-inline: var(--space-xs);
    font-weight: 500;
  }

  :where(.batch-action-bar-divider) {
    background: var(--line);
    flex-shrink: 0;
    block-size: 1.25rem;
    inline-size: 1px;
  }
}

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

  :where(.audio-player) {
    --surface-radius: var(--radius-md);
    --card-padding: var(--space-xs) var(--space-sm);
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    box-sizing: border-box;
    inline-size: 100%;
  }

  :where(.audio-player-play) {
    flex-shrink: 0;
  }

  :where(.audio-player-spin) {
    animation: audio-player-spin .8s linear infinite;
  }

  :where(.audio-player-progress) {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex: 1;
    min-inline-size: 0;
  }

  :where(.audio-player-time) {
    font-size: var(--text-xs);
    color: var(--muted);
    font-variant-numeric: tabular-nums;
    display: flex;
    flex-shrink: 0;
    justify-content: flex-start;
    align-items:  center;
    inline-size: 2rem;
    line-height: 1;
  }

  :where(.audio-player-scrubber) {
    appearance: none;
    -webkit-appearance: none;
    margin-block: var(--space-xs);
    border-radius: var(--radius-full);
    background: linear-gradient(to right, var(--accent) var(--progress, 0%), var(--line) var(--progress, 0%));
    cursor: pointer;
    outline: none;
    flex: 1;
    block-size: .25rem;
    inline-size: 100%;
  }

  :where(.audio-player-scrubber)::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    background: var(--accent);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
    border-radius: 50%;
    block-size: .75rem;
    inline-size: .75rem;
  }

  :where(.audio-player-scrubber)::-moz-range-thumb {
    background: var(--accent);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--duration) var(--ease);
    border: none;
    border-radius: 50%;
    block-size: .75rem;
    inline-size: .75rem;
  }

  :where(.audio-player-scrubber):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  :where(.audio-player):hover :where(.audio-player-scrubber)::-webkit-slider-thumb {
    opacity: 1;
  }

  :where(.audio-player-scrubber):focus-visible::-webkit-slider-thumb {
    opacity: 1;
  }

  :where(.audio-player):hover :where(.audio-player-scrubber)::-moz-range-thumb {
    opacity: 1;
  }

  :where(.audio-player-scrubber):focus-visible::-moz-range-thumb {
    opacity: 1;
  }

  :where(.audio-player):hover :where(.audio-player-scrubber):hover::-webkit-slider-thumb {
    transform: scale(1.2);
  }

  :where(.audio-player-speed-btn) {
    font-variant-numeric: tabular-nums;
  }

  :where(.audio-player-sep) {
    display: block;
    block-size: var(--space-md);
    background: var(--line);
    flex-shrink: 0;
    inline-size: 1px;
  }
}

/* packages/ui/src/styles/blocks/logs-display.css */
@layer components {
  :where(.logs-display) {
    padding: var(--space-sm);
    background: color-mix(in oklab, var(--surface) 92%, transparent);
    border-radius: var(--radius-md);
    overflow-y: auto;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    max-block-size: min(60vh, 28rem);
  }

  .logs-display-line {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: var(--space-sm);
    padding-block: var(--space-xs);
    white-space: nowrap;
  }

  .logs-display-timestamp {
    color: var(--muted);
  }

  .logs-display-level {
    text-transform: uppercase;
    font-weight: 600;
  }

  .logs-display-level[data-level="info"] {
    color: var(--accent);
  }

  .logs-display-level[data-level="warn"] {
    color: var(--warning);
  }

  .logs-display-level[data-level="error"] {
    color: var(--danger);
  }

  .logs-display-level[data-level="debug"] {
    color: color-mix(in oklab, var(--accent) 75%, var(--muted) 25%);
  }

  .logs-display-message {
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .logs-display-placeholder {
    color: var(--muted);
    font-size: var(--text-sm);
  }
}

/* packages/ui/src/styles/blocks/json-tree-view.css */
@layer components {
  :where(.json-tree) {
    position: relative;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }

  .json-tree-copy {
    position: absolute;
    opacity: .5;
    transition: opacity var(--duration) var(--ease);
    top: 0;
  }

  .json-tree-copy: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;
  }

  .json-tree-copy: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;
  }

  .json-tree-copy: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;
  }

  .json-tree-copy:-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;
  }

  .json-tree-copy:-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;
  }

  .json-tree-copy: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;
  }

  .json-tree:hover .json-tree-copy {
    opacity: 1;
  }

  .json-tree-toggle {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-2xs);
    font: inherit;
    cursor: pointer;
    color: inherit;
    background: none;
    border: none;
    padding: 0;
  }

  .json-tree-toggle:hover {
    color: var(--accent);
  }

  .json-tree-children {
    border-inline-start: 1px solid var(--line);
    margin-inline-start: var(--space-sm);
    padding-inline-start: var(--space-md);
  }

  .json-tree-entry {
    display: block;
  }

  .json-key {
    color: var(--accent);
  }

  .json-colon {
    color: var(--muted);
  }

  .json-string {
    color: var(--positive);
  }

  .json-number {
    color: var(--warning);
  }

  .json-boolean {
    color: var(--accent);
  }

  .json-null {
    color: var(--muted);
    font-style: italic;
  }

  .json-brackets {
    color: var(--muted);
  }

  .json-preview {
    color: var(--muted);
    margin-inline: var(--space-2xs);
    font-style: italic;
  }
}

/* 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(.page-actions) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  :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/blocks/feedback.css */
@layer components {
  .feedback-dialog-body {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  .feedback-textarea {
    padding: var(--space-sm);
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    resize: vertical;
    width: 100%;
    min-height: 100px;
    transition: border-color .15s;
    font-family: inherit;
    font-size: .875rem;
    line-height: 1.5;
  }

  .feedback-textarea:focus {
    outline: none;
    border-color: var(--accent);
  }

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

  .feedback-textarea:disabled {
    opacity: .6;
    cursor: not-allowed;
  }

  .feedback-error {
    color: var(--danger);
    margin: 0;
    font-size: .875rem;
  }

  .feedback-metadata-toggle {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    color: var(--muted);
    cursor: pointer;
    font-size: .8125rem;
  }

  .feedback-metadata-toggle:has(:disabled) {
    opacity: .6;
    cursor: not-allowed;
  }
}

/* packages/ui/src/styles/blocks/stat-card.css */
@layer components {
  .stat-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
  }

  .stat-card-grid[data-cols="2"] {
    grid-template-columns: repeat(2, 1fr);
  }

  :where(.stat-card) {
    --card-padding: var(--space-md);
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
  }

  .stat-card[data-loading] {
    opacity: .6;
  }

  .stat-card-header {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
  }

  .stat-card-icon {
    display: flex;
    opacity: .8;
    align-items:  center;
  }

  .stat-card-label {
    font-size: var(--text-sm);
    color: var(--muted);
    font-weight: var(--weight-medium);
  }

  .stat-card-body {
    display: flex;
    justify-content: space-between;
    align-items:  flex-end;
    gap: var(--space-md);
  }

  .stat-card-metric {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
  }

  .stat-card-value {
    font-size: var(--text-4xl);
    font-weight: var(--weight-bold);
    letter-spacing: -.02em;
    line-height: 1;
  }

  .stat-card-sparkline {
    height: var(--space-lg);
    container-type: inline-size;
    flex: 1;
    min-width: 0;
  }

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

  @media (max-width: 640px) {
    .stat-card-grid, .stat-card-grid[data-cols="2"] {
      grid-template-columns: 1fr;
    }

    .stat-card-value {
      font-size: var(--text-3xl);
    }
  }
}

/* packages/ui/src/styles/blocks/trend-badge.css */
@layer components {
  :where(.trend-badge) {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
  }

  .trend-badge[data-trend="up"] {
    color: var(--positive);
    background: color-mix(in oklab, var(--positive) 15%, transparent);
  }

  .trend-badge[data-trend="down"] {
    color: var(--danger);
    background: color-mix(in oklab, var(--danger) 15%, transparent);
  }

  .trend-badge[data-trend="neutral"] {
    color: var(--muted);
    background: color-mix(in oklab, var(--muted) 15%, transparent);
  }

  .trend-badge-icon {
    width: var(--text-sm);
    height: var(--text-sm);
    flex-shrink: 0;
  }

  .trend-badge-value {
    white-space: nowrap;
  }
}

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

  .bar-list-item {
    display: flex;
    align-items:  center;
    gap: var(--space-md);
  }

  .bar-list-bar {
    position: relative;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    background: linear-gradient(to right, color-mix(in oklab, var(--bar-color, var(--accent)) 20%, transparent) 0%, color-mix(in oklab, var(--bar-color, var(--accent)) 20%, transparent) var(--bar-width, 0%), transparent var(--bar-width, 0%));
    flex: 1;
    min-width: 0;
  }

  .bar-list-label {
    font-size: var(--text-sm);
  }

  .bar-list-value {
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--muted);
    white-space: nowrap;
  }

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

/* packages/ui/src/styles/print.css */
@layer components {
  @media print {
    .app-layout {
      display: block !important;
      background: #fff !important;
      min-block-size: 0 !important;
      padding: 0 !important;
    }

    .app-main {
      inline-size: 100% !important;
    }

    .app-shell-content {
      padding: 0 !important;
    }

    .sidebar, .app-topbar, .content-page-sidebar, .content-page-engagement, [data-slot="page-actions-trigger"], [data-slot="page-actions-menu"], .toast, .dialog, .sheet, .dropdown-menu {
      display: none !important;
    }

    .content-page, .content-page-content {
      animation: none !important;
      max-inline-size: 100% !important;
    }

    .comments-section, .ProtectedVideo, .ProtectedImage, .VideoLayer, .children-grid {
      display: none !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 {
      display: none !important;
    }

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

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

    .content-page-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|andada-pro:400,400i,500,500i,700,700i|cutive-mono:400|scada:400,700";
@import "./reset.css";
@import "./custom-media.css";
@import "./tokens.css";
@import "./utility.css";
@import "./blocks/surface.css";
@import "./blocks/button.css";
@import "./blocks/toggle-button.css";
@import "./blocks/segmented-control.css";
@import "./blocks/card.css";
@import "./blocks/input.css";
@import "./blocks/select.css";
@import "./blocks/badge.css";
@import "./blocks/kbd.css";
@import "./blocks/form.css";
@import "./blocks/field.css";
@import "./blocks/fieldset.css";
@import "./blocks/label.css";
@import "./blocks/separator.css";
@import "./blocks/rule.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/truncate.css";
@import "./blocks/collapsible.css";
@import "./blocks/item.css";
@import "./blocks/error-boundary.css";
@import "./blocks/not-found.css";
@import "./blocks/access-gate.css";
@import "./blocks/tabs.css";
@import "./blocks/toast.css";
@import "./blocks/alert-dialog.css";
@import "./blocks/dialog.css";
@import "./blocks/command-palette.css";
@import "./blocks/sheet.css";
@import "./blocks/dropdown-menu.css";
@import "./blocks/app-launcher.css";
@import "./blocks/split-button.css";
@import "./blocks/picker.css";
@import "./blocks/tag-input.css";
@import "./blocks/composer.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/app-grid.css";
@import "./blocks/children-grid.css";
@import "./blocks/radio-card.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/content-editor.css";
@import "./blocks/pagination.css";
@import "./blocks/filter-bar.css";
@import "./blocks/filter-chip.css";
@import "./blocks/batch-action-bar.css";
@import "./blocks/audio-player.css";
@import "./blocks/logs-display.css";
@import "./blocks/json-tree-view.css";
@import "./blocks/demo.css";
@import "./blocks/feedback.css";
@import "./blocks/stat-card.css";
@import "./blocks/trend-badge.css";
@import "./blocks/bar-list.css";
@import "./print.css";

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


/* packages/comments/src/styles/comments.css */
@layer components {
  :where(.comments-section) {
    --comment-avatar-size: var(--space-lg);
    --comment-indent: calc(var(--comment-avatar-size)  + var(--space-sm));
    max-inline-size: 42rem;
    margin-block-start: var(--space-xl);
  }

  .comments-section-header {
    margin-block-end: var(--space-lg);
  }

  .comments-section-title {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    font-size: var(--text-lg);
    color: var(--ink);
    margin: 0;
    font-weight: 600;
  }

  .comments-section-composer {
    --input-bg: var(--surface);
    margin-block-end: var(--space-lg);
  }

  .comments-section-loading {
    display: block;
    padding: var(--space-lg);
    text-align: center;
    color: var(--muted);
    font-size: var(--text-sm);
  }

  .comments-section-threads {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  .comments-section-empty {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl) var(--space-lg);
    text-align: center;
    color: var(--muted);
    flex-direction: column;
  }

  .comments-section-empty-message {
    margin: 0;
  }

  .comments-section-empty-hint {
    font-size: var(--text-sm);
    opacity: .7;
  }

  .comments-section-access-denied {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding: var(--space-xl) var(--space-lg);
    text-align: center;
    color: var(--muted);
    background: var(--surface);
    border-radius: var(--radius-md);
    flex-direction: column;
  }

  .comments-section-access-denied-message {
    margin: 0;
  }

  .comments-section-load-more {
    display: flex;
    justify-content: center;
    padding-block-start: var(--space-md);
  }

  :where(.comment-thread) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  .comment-thread-replies {
    display: flex;
    gap: var(--space-sm);
    flex-direction: column;
    margin-inline-start: var(--space-lg);
  }

  .comment-thread-reply-composer {
    margin-block-start: var(--space-sm);
    margin-inline-start: var(--space-lg);
  }

  :where(.comment-item) {
    --card-padding: var(--space-md);
  }

  .comment-item-header {
    display: flex;
    justify-content: space-between;
    align-items:  center;
    gap: var(--space-sm);
    padding-block-end: var(--space-xs);
  }

  .comment-item-meta {
    display: flex;
    align-items:  center;
    gap: var(--space-xs);
    flex-wrap: wrap;
  }

  .comment-item-author {
    font-weight: 500;
    font-size: var(--text-sm);
    color: var(--ink);
  }

  .comment-item-time {
    font-size: var(--text-xs);
    color: var(--muted);
  }

  .comment-item-edited {
    font-size: var(--text-xs);
    color: var(--muted);
    font-style: italic;
  }

  .comment-item-body {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: color-mix(in oklab, var(--ink) 85%, transparent);
  }

  .comment-item-code {
    font-size: .9em;
    font-family: var(--font-mono);
    background: var(--surface);
    border-radius: var(--radius-sm);
    padding-block-start: .1em;
    padding-block-end: .1em;
    padding-inline-start: .3em;
    padding-inline-end: .3em;
  }

  .comment-item-link {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: .15em;
  }

  .comment-item-link:hover {
    text-decoration-thickness: 2px;
  }

  .comment-item-footer {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    padding-block-start: var(--space-xs);
  }

  .comment-item[data-deleted] .comment-item-body {
    color: var(--muted);
    font-style: italic;
  }

  :where(.comment-composer) {
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
  }

  .comment-composer-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-xs);
  }

  .comment-composer-error {
    color: var(--danger);
    font-size: var(--text-sm);
    margin: 0;
  }

  :where(.reaction-picker) {
    display: flex;
    align-items:  center;
    gap: var(--space-2xs);
  }

  .reaction-picker-trigger {
    appearance: none;
    cursor: pointer;
    display: inline-flex;
    align-items:  center;
    gap: var(--space-xs);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    color: var(--muted);
    transition: background var(--duration) var(--ease);
    background: none;
    border: none;
  }

  .reaction-picker-trigger:hover {
    background: color-mix(in oklab, var(--ink) 5%, transparent);
  }

  .reaction-pill {
    display: inline-flex;
    align-items:  center;
    gap: var(--space-2xs);
    color: var(--muted);
    font-size: var(--text-xs);
  }

  .reaction-pill[data-active] {
    color: var(--accent);
  }

  .reaction-count {
    font-variant-numeric: tabular-nums;
    line-height: 1;
  }

  .reaction-picker-menu {
    display: flex;
    gap: var(--space-2xs);
    padding: var(--space-xs);
  }
}

/* apps/marozzo/src/styles/app.css */
@layer overrides {
  :where(.page) {
    max-inline-size: 64rem;
  }

  :where(.landing) {
    display: flex;
    gap: var(--space-xl);
    padding-block: var(--space-lg);
    flex-direction: column;
    max-inline-size: 64rem;
  }

  .landing-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-xl);
    align-items:  center;
    padding-block-end: var(--space-md);
  }

  .landing-hero-content {
    display: flex;
    gap: var(--space-lg);
    flex-direction: column;
  }

  .landing-title {
    font-family: var(--font-heading);
    font-size: clamp(var(--text-3xl), 5vw, var(--text-4xl));
    font-weight: var(--weight-bold);
    letter-spacing: -.03em;
    margin: 0;
    line-height: 1.1;
  }

  .landing-title-accent {
    color: var(--accent);
  }

  .landing-subtitle {
    font-size: var(--text-lg);
    color: var(--muted);
    max-inline-size: 36rem;
    margin: 0;
    line-height: 1.6;
  }

  .landing-hero-cta {
    display: flex;
    gap: var(--space-sm);
    flex-wrap: wrap;
  }

  .landing-hero-cta .button {
    gap: var(--space-xs);
  }

  .landing-hero-cta-icon {
    block-size: 1.25em;
    inline-size: 1.25em;
  }

  .landing-hero-decoration {
    color: var(--line);
    opacity: .5;
  }

  .landing-hero-decoration-icon {
    transform-origin: 15% 85%;
    will-change: transform;
    block-size: 8rem;
    inline-size: 8rem;
    transform: rotate(-30deg);
  }

  .landing-hero-decoration.is-animating .landing-hero-decoration-icon {
    animation: sword-cut .6s ease-in-out;
  }

  @keyframes sword-cut {
    0% {
      transform: rotate(-30deg);
      animation-timing-function: ease-in;
    }

    15% {
      transform: rotate(-58deg);
      animation-timing-function: cubic-bezier(.15, 0, .25, 1);
    }

    55% {
      transform: rotate(32deg);
      animation-timing-function: ease-out;
    }

    75% {
      transform: rotate(14deg);
    }

    100% {
      transform: rotate(-30deg);
    }
  }

  @media (max-width: calc(48rem - .001px)) {
    .landing-hero {
      grid-template-columns: 1fr;
    }

    .landing-hero-decoration {
      display: none;
    }
  }

  .landing-section {
    display: flex;
    gap: var(--space-lg);
    flex-direction: column;
  }

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

  .landing-section-title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: var(--weight-semibold);
    letter-spacing: -.02em;
    margin: 0;
  }

  .landing-section-subtitle {
    color: var(--muted);
    margin: 0;
  }

  .landing-section-footer {
    display: flex;
    justify-content: center;
  }

  .landing-section .children-grid {
    margin-block-start: 0;
    margin-block-end: 0;
  }

  .landing-membership-title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: var(--weight-semibold);
    letter-spacing: -.02em;
    margin: 0;
  }

  .landing-membership-subtitle {
    color: var(--muted);
    margin: 0;
    line-height: 1.6;
  }

  :where(.pricing-section) {
    display: flex;
    gap: var(--space-lg);
    flex-direction: column;
  }

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

  .pricing-section-header-icon {
    inline-size: var(--text-lg);
    block-size: var(--text-lg);
    color: var(--accent);
  }

  .pricing-section-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }

  @media (max-width: calc(36rem - .001px)) {
    .pricing-section-cards {
      grid-template-columns: 1fr;
    }
  }

  :where(.pricing-section-card) {
    display: flex;
    gap: var(--space-md);
    flex-direction: column;
  }

  :where(.pricing-section-card[data-featured]) {
    --surface-shadow: 0 0 24px -8px color-mix(in oklab, var(--accent) 20%, transparent);
  }

  :where(.pricing-section-featured-wrapper) {
    position: relative;
    z-index: 0;
  }

  :where(.pricing-section-featured-wrapper):before {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: calc(var(--surface-radius, var(--radius-lg))  + 1px);
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 40%, white) 0%, var(--accent) 5%, var(--line) 15%, var(--line) 85%, var(--accent) 95%, color-mix(in oklab, var(--accent) 40%, white) 100%);
    inset: -1px;
  }

  :where(.pricing-section-card) .card-header {
    gap: var(--space-xs);
  }

  .pricing-section-tier-label {
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    color: var(--accent);
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
  }

  .pricing-section-savings {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    color: var(--positive);
    background: color-mix(in oklab, var(--positive) 15%, transparent);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
  }

  .pricing-section-price {
    display: flex;
    align-items: baseline;
    gap: var(--space-2xs);
  }

  .pricing-section-price-amount {
    font-size: var(--text-4xl);
    font-weight: var(--weight-bold);
    letter-spacing: -.02em;
  }

  .pricing-section-price-interval {
    font-size: var(--text-base);
    color: var(--muted);
  }

  .pricing-section-tagline {
    color: var(--muted);
    font-size: var(--text-sm);
    margin: 0;
  }

  .pricing-section-features {
    list-style: none;
    display: flex;
    gap: var(--space-xs);
    flex-direction: column;
    margin: 0;
    padding: 0;
  }

  .pricing-section-feature {
    display: flex;
    align-items:  center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
  }

  .pricing-section-feature-icon {
    inline-size: var(--text-sm);
    block-size: var(--text-sm);
    color: var(--accent);
    flex-shrink: 0;
  }

  :where(.pricing-section-card) .button {
    margin-block-start: auto;
  }

  @keyframes page-fade-in {
    from {
      opacity: 0;
      transform: translateY(4px);
    }

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

  .layout-wide :where(.content-page-content) {
    max-inline-size: none;
  }

  .layout-wide :where(.content-page-content):not(:has(.content-page-body)) :where(.content-page-header) {
    max-inline-size: none;
  }

  .layout-wide :where(.content-page-content):not(:has(.content-page-body)) > :where(.rule) {
    max-inline-size: none;
  }

  :where(.course-page-lessons) {
    margin-block-start: var(--space-xl);
  }

  .course-page-lessons-title {
    font-size: var(--text-xl);
    font-weight: var(--weight-semibold);
    margin: 0;
    margin-block-end: var(--space-md);
  }

  .course-page-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: var(--space-md);
  }

  .course-page-card-link {
    text-decoration: none;
    color: inherit;
  }

  .course-page-card-link .card {
    block-size: 100%;
  }

  :where(.posts-grid) {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    gap: var(--space-md);
    margin: 0;
    padding: 0;
  }

  .posts-grid-link {
    display: block;
    text-decoration: none;
    color: inherit;
    block-size: 100%;
  }

  :where(.post-card-skeleton) {
    block-size: 100%;
    min-block-size: 14rem;
  }

  :where(.post-card) {
    position: relative;
    display: flex;
    overflow: hidden;
    color: var(--ink);
    flex-direction: column;
    block-size: 100%;
    min-block-size: 14rem;
  }

  .post-card-image {
    position: absolute;
    z-index: 0;
    inset: 0;
  }

  .post-card-image .media-image-img {
    object-fit: cover;
    transform: var(--image-scale, none);
    block-size: 100%;
    inline-size: 100%;
    transition: transform .3s;
  }

  .posts-grid-link:hover {
    --image-scale: scale(1.05);
  }

  .post-card-image:after {
    content: "";
    position: absolute;
    background: linear-gradient(to top, color-mix(in oklab, var(--paper) 90%, transparent) 0%, color-mix(in oklab, var(--paper) 60%, transparent) 40%, transparent 100%);
    inset: 0;
  }

  .post-card .card-header {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
  }

  .post-card-date {
    font-size: var(--text-sm);
    color: var(--muted);
    margin-block-start: var(--space-xs);
  }

  .search-highlight {
    color: var(--warning);
    font-weight: var(--weight-semibold);
  }

  .search-result-description {
    opacity: .6;
    margin-inline-start: var(--space-sm);
    font-size: .875em;
  }

  :where(.route-access-loading) {
    display: flex;
    justify-content: center;
    align-items:  center;
    min-block-size: 200px;
  }

  .route-access-loading-text {
    color: var(--muted);
  }

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

  :where(.create-page-dialog-url-preview) {
    font-size: var(--text-sm);
    color: var(--muted);
    margin: 0;
    margin-block-start: var(--space-sm);
  }

  :where(.create-page-dialog-url-preview) code {
    font-family: var(--font-mono);
    color: var(--muted);
  }

  :where(.create-page-dialog-error) {
    font-size: var(--text-sm);
    color: var(--danger);
    margin: 0;
  }

  :where(.glossary-alpha-nav) {
    display: flex;
    gap: var(--space-2xs);
    padding-block: var(--space-md);
    flex-wrap: wrap;
  }

  :where(.glossary-alpha-nav-letter) {
    display: inline-flex;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    color: var(--muted);
    text-decoration: none;
    justify-content: center;
    align-items:  center;
    block-size: 2rem;
    inline-size: 2rem;
  }

  .glossary-alpha-nav-letter[data-active] {
    color: var(--ink);
    background: color-mix(in oklab, var(--ink) 8%, transparent);
    cursor: pointer;
  }

  .glossary-alpha-nav-letter[data-active]:hover {
    background: color-mix(in oklab, var(--ink) 14%, transparent);
  }

  :where(.glossary-groups) {
    display: flex;
    gap: var(--space-xl);
    flex-direction: column;
  }

  .glossary-group-heading {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: var(--weight-bold);
    color: var(--accent);
    margin: 0;
    margin-block-end: var(--space-sm);
    padding-block-start: var(--space-sm);
    scroll-margin-block-start: var(--space-lg);
  }

  :where(.glossary-list) {
    list-style: none;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
  }

  :where(.glossary-term-link) {
    display: flex;
    gap: var(--space-2xs);
    padding-block: var(--space-sm);
    padding-inline: var(--space-sm);
    margin-inline: calc(-1 * var(--space-sm));
    border-radius: var(--radius-md);
    text-decoration: none;
    color: inherit;
    transition: background-color var(--duration) ease;
    flex-direction: column;
  }

  .glossary-term-link:hover {
    background: color-mix(in oklab, var(--ink) 5%, transparent);
  }

  .glossary-term-title {
    font-weight: var(--weight-semibold);
    color: var(--ink);
  }

  .glossary-term-description {
    font-size: var(--text-sm);
    color: var(--muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    -webkit-box-orient: vertical;
  }
}
