:root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --spacing: 0.25rem;
    --breakpoint-sm: 40rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-fd-background: hsl(0, 0%, 96%);
    --color-fd-foreground: hsl(0, 0%, 3.9%);
    --color-fd-muted: hsl(0, 0%, 96.1%);
    --color-fd-muted-foreground: hsl(0, 0%, 45.1%);
    --color-fd-popover: hsl(0, 0%, 98%);
    --color-fd-popover-foreground: hsl(0, 0%, 15.1%);
    --color-fd-card: hsl(0, 0%, 94.7%);
    --color-fd-card-foreground: hsl(0, 0%, 3.9%);
    --color-fd-border: hsla(0, 0%, 80%, 50%);
    --color-fd-primary: hsl(0, 0%, 9%);
    --color-fd-primary-foreground: hsl(0, 0%, 98%);
    --color-fd-secondary: hsl(0, 0%, 93.1%);
    --color-fd-secondary-foreground: hsl(0, 0%, 9%);
    --color-fd-accent: hsla(0, 0%, 82%, 50%);
    --color-fd-accent-foreground: hsl(0, 0%, 9%);
    --color-fd-ring: hsl(0, 0%, 63.9%);
    --color-fd-overlay: hsla(0, 0%, 0%, 0.2);
    --color-fd-info: oklch(62.3% 0.214 259.815);
    --color-fd-warning: oklch(76.9% 0.188 70.08);
    --color-fd-error: oklch(63.7% 0.237 25.331);
    --color-fd-success: oklch(72.3% 0.219 149.579);
    --color-fd-idea: oklch(70.5% 0.209 60.849);
    --color-fd-diff-remove: rgba(200, 10, 100, 0.12);
    --color-fd-diff-remove-symbol: rgb(230, 10, 100);
    --color-fd-diff-add: rgba(14, 180, 100, 0.1);
    --color-fd-diff-add-symbol: rgb(10, 200, 100);
    --animate-fd-fade-in: fd-fade-in 300ms ease;
    --animate-fd-fade-out: fd-fade-out 300ms ease;
    --animate-fd-dialog-in: fd-dialog-in 300ms cubic-bezier(0.16, 1, 0.3, 1);
    --animate-fd-dialog-out: fd-dialog-out 300ms cubic-bezier(0.16, 1, 0.3, 1);
    --animate-fd-popover-in: fd-popover-in 100ms ease;
    --animate-fd-popover-out: fd-popover-out 100ms ease;
    --animate-fd-enterFromLeft: fd-enterFromLeft 250ms ease;
    --animate-fd-enterFromRight: fd-enterFromRight 250ms ease;
    --animate-fd-sidebar-in: fd-sidebar-in 250ms ease;
    --animate-fd-sidebar-out: fd-sidebar-out 250ms ease;
    --animate-fd-exitToLeft: fd-exitToLeft 250ms ease;
    --animate-fd-exitToRight: fd-exitToRight 250ms ease;
    --animate-fd-collapsible-down: fd-collapsible-down 150ms cubic-bezier(0.45, 0, 0.55, 1);
    --animate-fd-collapsible-up: fd-collapsible-up 150ms cubic-bezier(0.45, 0, 0.55, 1);
    --animate-fd-accordion-down: fd-accordion-down 200ms ease-out;
    --animate-fd-accordion-up: fd-accordion-up 200ms ease-out;
    --animate-fd-nav-menu-in: fd-nav-menu-in 200ms ease;
    --animate-fd-nav-menu-out: fd-nav-menu-out 200ms ease;
  }
*, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
b, strong {
    font-weight: bolder;
  }
code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
small {
    font-size: 80%;
  }
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
sub {
    bottom: -0.25em;
  }
sup {
    top: -0.5em;
  }
table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
:-moz-focusring {
    outline: auto;
  }
progress {
    vertical-align: baseline;
  }
summary {
    display: list-item;
  }
ol, ul, menu {
    list-style: none;
  }
img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
img, video {
    max-width: 100%;
    height: auto;
  }
button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
:where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
:where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
::file-selector-button {
    margin-inline-end: 4px;
  }
::placeholder {
    opacity: 1;
  }
@supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
textarea {
    resize: vertical;
  }
::-webkit-search-decoration {
    -webkit-appearance: none;
  }
::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
::-webkit-datetime-edit {
    display: inline-flex;
  }
::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
:-moz-ui-invalid {
    box-shadow: none;
  }
button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
[hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
.\@container {
    container-type: inline-size;
  }
.pointer-events-none {
    pointer-events: none;
  }
.collapse {
    visibility: collapse;
  }
.invisible {
    visibility: hidden;
  }
.visible {
    visibility: visible;
  }
.fd-step {
    &:before {
      background-color: var(--color-fd-secondary);
      color: var(--color-fd-secondary-foreground);
      content: counter(step);
      counter-increment: step;
      justify-content: center;
      align-items: center;
      font-size: 0.875rem;
      line-height: 1.25rem;
      display: flex;
      position: absolute;
      inset-inline-start: calc(var(--spacing) * -4);
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
      border-radius: calc(infinity * 1px);
    }
  }
.fd-steps {
    counter-reset: step;
    position: relative;
    margin-inline-start: calc(var(--spacing) * 2);
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
    padding-inline-start: calc(var(--spacing) * 6);
    @media (width >= 40rem) {
      margin-inline-start: calc(var(--spacing) * 4);
    }
    @media (width >= 40rem) {
      padding-inline-start: calc(var(--spacing) * 7);
    }
  }
.absolute {
    position: absolute;
  }
.fixed {
    position: fixed;
  }
.relative {
    position: relative;
  }
.static {
    position: static;
  }
.sticky {
    position: sticky;
  }
.inset-0 {
    inset: calc(var(--spacing) * 0);
  }
.inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
.inset-x-2 {
    inset-inline: calc(var(--spacing) * 2);
  }
.inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
.inset-y-2 {
    inset-block: calc(var(--spacing) * 2);
  }
.inset-s-0 {
    inset-inline-start: calc(var(--spacing) * 0);
  }
.inset-s-4 {
    inset-inline-start: calc(var(--spacing) * 4);
  }
.start {
    inset-inline-start: var(--spacing);
  }
.start-0 {
    inset-inline-start: calc(var(--spacing) * 0);
  }
.start-3 {
    inset-inline-start: calc(var(--spacing) * 3);
  }
.start-6 {
    inset-inline-start: calc(var(--spacing) * 6);
  }
.end-0 {
    inset-inline-end: calc(var(--spacing) * 0);
  }
.end-2 {
    inset-inline-end: calc(var(--spacing) * 2);
  }
.inset-e-0 {
    inset-inline-end: calc(var(--spacing) * 0);
  }
.-top-1\.5 {
    top: calc(var(--spacing) * -1.5);
  }
.top-\(--fd-docs-row-1\) {
    top: var(--fd-docs-row-1);
  }
.top-\(--fd-docs-row-2\) {
    top: var(--fd-docs-row-2);
  }
.top-\(--fd-docs-row-3\) {
    top: var(--fd-docs-row-3);
  }
.top-0 {
    top: calc(var(--spacing) * 0);
  }
.top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
.top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
.top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }
.top-3 {
    top: calc(var(--spacing) * 3);
  }
.top-4 {
    top: calc(var(--spacing) * 4);
  }
.top-\[calc\(--spacing\(4\)\+var\(--fd-docs-row-3\)\)\] {
    top: calc(calc(var(--spacing) * 4) + var(--fd-docs-row-3));
  }
.right-2 {
    right: calc(var(--spacing) * 2);
  }
.bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
.bottom-1\.5 {
    bottom: calc(var(--spacing) * 1.5);
  }
.bottom-26 {
    bottom: calc(var(--spacing) * 26);
  }
.left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
.-z-1 {
    z-index: calc(1 * -1);
  }
.z-2 {
    z-index: 2;
  }
.z-10 {
    z-index: 10;
  }
.z-20 {
    z-index: 20;
  }
.z-30 {
    z-index: 30;
  }
.z-40 {
    z-index: 40;
  }
.z-50 {
    z-index: 50;
  }
.z-\[-1\] {
    z-index: -1;
  }
.col-span-full {
    grid-column: 1 / -1;
  }
.container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
.-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
.-mx-px {
    margin-inline: -1px;
  }
.mx-0\.5 {
    margin-inline: calc(var(--spacing) * 0.5);
  }
.mx-auto {
    margin-inline: auto;
  }
.my-0 {
    margin-block: calc(var(--spacing) * 0);
  }
.my-0\! {
    margin-block: calc(var(--spacing) * 0) !important;
  }
.my-0\.5 {
    margin-block: calc(var(--spacing) * 0.5);
  }
.my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
.my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
.my-auto {
    margin-block: auto;
  }
.-ms-1\.5 {
    margin-inline-start: calc(var(--spacing) * -1.5);
  }
.ms-1 {
    margin-inline-start: calc(var(--spacing) * 1);
  }
.ms-2 {
    margin-inline-start: calc(var(--spacing) * 2);
  }
.ms-auto {
    margin-inline-start: auto;
  }
.ms-px {
    margin-inline-start: 1px;
  }
.-me-0\.5 {
    margin-inline-end: calc(var(--spacing) * -0.5);
  }
.-me-1\.5 {
    margin-inline-end: calc(var(--spacing) * -1.5);
  }
.-me-2 {
    margin-inline-end: calc(var(--spacing) * -2);
  }
.me-1 {
    margin-inline-end: calc(var(--spacing) * 1);
  }
.me-2 {
    margin-inline-end: calc(var(--spacing) * 2);
  }
.me-auto {
    margin-inline-end: auto;
  }
.prose {
    color: var(--tw-prose-body);
    max-width: none;
    font-size: 1rem;
    line-height: 1.75rem;
    :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-size: 1.25em;
      line-height: 1.6;
      margin-top: 1.2em;
      margin-bottom: 1.2em;
      color: var(--tw-prose-lead);
    }
    :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 1rem;
      list-style-type: disc;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.25em;
    }
    :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      padding-inline-start: 1.625em;
    }
    :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-color: var(--tw-prose-hr);
      border-top-width: 1px;
      margin-top: 3em;
      margin-bottom: 3em;
    }
    :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-bold);
      font-weight: 500;
    }
    :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      font-weight: 400;
      color: var(--tw-prose-counters);
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      color: var(--tw-prose-bullets);
    }
    :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.6em;
      margin-bottom: 1.6em;
      padding-inline-start: 1em;
      font-weight: 500;
      font-style: italic;
      color: var(--tw-prose-quotes);
      border-inline-start-width: 0.25rem;
      border-inline-start-color: var(--tw-prose-quote-borders);
      quotes: "\201C""\201D""\2018""\2019";
    }
    :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: open-quote;
    }
    :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: close-quote;
    }
    :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 800;
      font-size: var(--text-3xl);
      margin-top: 0;
      margin-bottom: 0.8888889em;
      line-height: 1.1111111;
    }
    :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 900;
      color: inherit;
    }
    :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-size: 1.5em;
      margin-top: 2em;
      margin-bottom: 1em;
      line-height: 1.3333333;
      font-weight: 600;
    }
    :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 800;
      color: inherit;
    }
    :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      font-size: 1.25em;
      margin-top: 1.6em;
      margin-bottom: 0.6em;
      line-height: 1.6;
    }
    :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.5em;
      margin-bottom: 0.5em;
      line-height: 1.5;
    }
    :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      display: block;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-size: 0.875em;
      border-radius: 0.3125rem;
      padding-top: 0.1875em;
      padding-inline-end: 0.375em;
      padding-bottom: 0.1875em;
      padding-inline-start: 0.375em;
      font-weight: 500;
      font-family: inherit;
      color: var(--tw-prose-kbd);
      box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding: 3px;
      border: solid 1px;
      font-size: 13px;
      border-color: var(--color-fd-border);
      border-radius: 5px;
      font-weight: 400;
      background: var(--color-fd-muted);
      color: var(--tw-prose-code);
    }
    :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: var(--text-2xl);
    }
    :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.875em;
    }
    :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.9em;
    }
    :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
    }
    :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-captions);
      font-size: 0.875em;
      line-height: 1.4285714;
      margin-top: 0.8571429em;
    }
    :where(a:not([data-card])):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-links);
      transition: opacity .2s;
      font-weight: 500;
      text-decoration: underline;
      text-underline-offset: 3.5px;
      text-decoration-color: var(--color-fd-primary);
      text-decoration-thickness: 1.5px;
    }
    :where(a:not([data-card]):hover):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      opacity: 80%;
    }
    --tw-prose-body: color-mix(in srgb, hsl(0, 0%, 3.9%) 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-prose-body: color-mix(in oklab, var(--color-fd-foreground) 90%, transparent);
    }
    --tw-prose-headings: var(--color-fd-foreground);
    --tw-prose-lead: var(--color-fd-foreground);
    --tw-prose-links: var(--color-fd-foreground);
    --tw-prose-bold: var(--color-fd-foreground);
    --tw-prose-counters: var(--color-fd-muted-foreground);
    --tw-prose-bullets: var(--color-fd-muted-foreground);
    --tw-prose-hr: var(--color-fd-border);
    --tw-prose-quotes: var(--color-fd-foreground);
    --tw-prose-quote-borders: var(--color-fd-border);
    --tw-prose-captions: var(--color-fd-foreground);
    --tw-prose-code: var(--color-fd-foreground);
    --tw-prose-th-borders: var(--color-fd-border);
    --tw-prose-td-borders: var(--color-fd-border);
    --tw-prose-kbd: var(--color-fd-foreground);
    --tw-prose-kbd-shadows: color-mix(in srgb, hsl(0, 0%, 9%) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-prose-kbd-shadows: color-mix(in oklab, var(--color-fd-primary) 50%, transparent);
    }
    :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 0;
    }
    :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-size: 0.875em;
      line-height: 1.7142857;
      width: 100%;
      table-layout: auto;
      margin-top: 2em;
      margin-bottom: 2em;
      border-collapse: separate;
      border-spacing: 0;
      background: var(--color-fd-card);
      border-radius: var(--radius-lg);
      border: 1px solid var(--color-fd-border);
      overflow: hidden;
    }
    :where(th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      text-align: start;
      padding: calc(var(--spacing) * 2.5);
      border-inline-start: 1px solid var(--color-fd-border);
      background: var(--color-fd-muted);
    }
    :where(th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-inline-start: none;
    }
    :where(th:not(tr:last-child *), td:not(tr:last-child *)):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom: 1px solid var(--color-fd-border);
    }
    :where(td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      text-align: start;
      border-inline-start: 1px solid var(--color-fd-border);
      padding: calc(var(--spacing) * 2.5);
    }
    :where(td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-inline-start: none;
    }
    :where(tfoot th, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-top-width: 1px;
      border-top-color: var(--tw-prose-th-borders);
    }
    :where(thead th, thead td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-th-borders);
    }
  }
.prose-no-margin {
    & > :first-child {
      margin-top: 0;
    }
    & > :last-child {
      margin-bottom: 0;
    }
  }
.mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
.mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
.mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
.mt-px {
    margin-top: 1px;
  }
.-mb-px {
    margin-bottom: -1px;
  }
.mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
.mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
.mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
.mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
.mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
.mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
.mb-auto {
    margin-bottom: auto;
  }
.fd-scroll-container {
    &::-webkit-scrollbar {
      width: 5px;
      height: 5px;
    }
    &::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background: var(--color-fd-border);
    }
    &::-webkit-scrollbar-track {
      background: transparent;
    }
    &::-webkit-scrollbar-corner {
      display: none;
    }
  }
.block {
    display: block;
  }
.contents {
    display: contents;
  }
.flex {
    display: flex;
  }
.grid {
    display: grid;
  }
.hidden {
    display: none;
  }
.inline {
    display: inline;
  }
.inline-flex {
    display: inline-flex;
  }
.table {
    display: table;
  }
.size-1 {
    width: calc(var(--spacing) * 1);
    height: calc(var(--spacing) * 1);
  }
.size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
.size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
.size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
.size-4\.5 {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
  }
.size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
.size-6\.5 {
    width: calc(var(--spacing) * 6.5);
    height: calc(var(--spacing) * 6.5);
  }
.size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
.size-full {
    width: 100%;
    height: 100%;
  }
.h-\(--fd-animated-height\) {
    height: var(--fd-animated-height);
  }
.h-\(--fd-header-height\) {
    height: var(--fd-header-height);
  }
.h-\(--fd-toc-popover-height\) {
    height: var(--fd-toc-popover-height);
  }
.h-\(--radix-navigation-menu-viewport-height\) {
    height: var(--radix-navigation-menu-viewport-height);
  }
.h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
.h-8\.5 {
    height: calc(var(--spacing) * 8.5);
  }
.h-9 {
    height: calc(var(--spacing) * 9);
  }
.h-9\.5 {
    height: calc(var(--spacing) * 9.5);
  }
.h-10 {
    height: calc(var(--spacing) * 10);
  }
.h-14 {
    height: calc(var(--spacing) * 14);
  }
.h-\[400px\] {
    height: 400px;
  }
.h-\[calc\(var\(--fd-docs-height\)-var\(--fd-docs-row-1\)\)\] {
    height: calc(var(--fd-docs-height) - var(--fd-docs-row-1));
  }
.h-\[calc\(var\(--fd-docs-height\)-var\(--fd-docs-row-2\)\)\] {
    height: calc(var(--fd-docs-height) - var(--fd-docs-row-2));
  }
.h-\[calc\(var\(--fd-docs-height\)-var\(--fd-docs-row-3\)\)\] {
    height: calc(var(--fd-docs-height) - var(--fd-docs-row-3));
  }
.h-full {
    height: 100%;
  }
.h-px {
    height: 1px;
  }
.max-h-\(--radix-popover-content-available-height\) {
    max-height: var(--radix-popover-content-available-height);
  }
.max-h-20 {
    max-height: calc(var(--spacing) * 20);
  }
.max-h-\[50vh\] {
    max-height: 50vh;
  }
.max-h-\[80svh\] {
    max-height: 80svh;
  }
.max-h-\[460px\] {
    max-height: 460px;
  }
.max-h-\[600px\] {
    max-height: 600px;
  }
.min-h-\(--fd-docs-height\) {
    min-height: var(--fd-docs-height);
  }
.min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
.min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }
.w-\(--fd-sidebar-width\) {
    width: var(--fd-sidebar-width);
  }
.w-\(--fd-toc-width\) {
    width: var(--fd-toc-width);
  }
.w-\(--radix-popover-trigger-width\) {
    width: var(--radix-popover-trigger-width);
  }
.w-0 {
    width: calc(var(--spacing) * 0);
  }
.w-0\.5 {
    width: calc(var(--spacing) * 0.5);
  }
.w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
.w-1\/4 {
    width: calc(1 / 4 * 100%);
  }
.w-4 {
    width: calc(var(--spacing) * 4);
  }
.w-\[85\%\] {
    width: 85%;
  }
.w-\[calc\(100\%-1rem\)\] {
    width: calc(100% - 1rem);
  }
.w-\[calc\(100\%-var\(--removed-body-scroll-bar-size\,0px\)\)\] {
    width: calc(100% - var(--removed-body-scroll-bar-size,0px));
  }
.w-fit {
    width: fit-content;
  }
.w-full {
    width: 100%;
  }
.w-max {
    width: max-content;
  }
.w-px {
    width: 1px;
  }
.max-w-\[98vw\] {
    max-width: 98vw;
  }
.max-w-\[240px\] {
    max-width: 240px;
  }
.max-w-\[380px\] {
    max-width: 380px;
  }
.max-w-\[900px\] {
    max-width: 900px;
  }
.max-w-\[1168px\] {
    max-width: 1168px;
  }
.max-w-\[1200px\] {
    max-width: 1200px;
  }
.max-w-\[1400px\] {
    max-width: 1400px;
  }
.max-w-full {
    max-width: 100%;
  }
.max-w-md {
    max-width: var(--container-md);
  }
.max-w-screen-sm {
    max-width: var(--breakpoint-sm);
  }
.max-w-sm {
    max-width: var(--container-sm);
  }
.max-w-svw {
    max-width: 100svw;
  }
.min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
.min-w-\[240px\] {
    min-width: 240px;
  }
.min-w-fit {
    min-width: fit-content;
  }
.min-w-full {
    min-width: 100%;
  }
.flex-1 {
    flex: 1;
  }
.shrink {
    flex-shrink: 1;
  }
.shrink-0 {
    flex-shrink: 0;
  }
.origin-\(--radix-popover-content-transform-origin\) {
    transform-origin: var(--radix-popover-content-transform-origin);
  }
.origin-\[top_center\] {
    transform-origin: top center;
  }
.-translate-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-x-\(--fd-sidebar-width\) {
    --tw-translate-x: calc(var(--fd-sidebar-width) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.translate-x-2 {
    --tw-translate-x: calc(var(--spacing) * 2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.translate-x-\[calc\(-50\%-var\(--removed-body-scroll-bar-size\,0px\)\/2\)\] {
    --tw-translate-x: calc(-50% - var(--removed-body-scroll-bar-size,0px) / 2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-translate-y-full {
    --tw-translate-y: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
.-rotate-90 {
    rotate: calc(90deg * -1);
  }
.rotate-180 {
    rotate: 180deg;
  }
.transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
.animate-fd-fade-in {
    animation: var(--animate-fd-fade-in);
  }
.animate-pulse {
    animation: var(--animate-pulse);
  }
.scroll-m-4 {
    scroll-margin: calc(var(--spacing) * 4);
  }
.scroll-m-20 {
    scroll-margin: calc(var(--spacing) * 20);
  }
.scroll-m-24 {
    scroll-margin: calc(var(--spacing) * 24);
  }
.scroll-m-28 {
    scroll-margin: calc(var(--spacing) * 28);
  }
.list-none {
    list-style-type: none;
  }
.auto-cols-auto {
    grid-auto-columns: auto;
  }
.auto-rows-auto {
    grid-auto-rows: auto;
  }
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.grid-cols-\[1fr_3fr\] {
    grid-template-columns: 1fr 3fr;
  }
.flex-col {
    flex-direction: column;
  }
.flex-row {
    flex-direction: row;
  }
.flex-row-reverse {
    flex-direction: row-reverse;
  }
.flex-wrap {
    flex-wrap: wrap;
  }
.items-center {
    align-items: center;
  }
.items-end {
    align-items: flex-end;
  }
.justify-between {
    justify-content: space-between;
  }
.justify-center {
    justify-content: center;
  }
.justify-end {
    justify-content: flex-end;
  }
.justify-start {
    justify-content: flex-start;
  }
.gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
.gap-1 {
    gap: calc(var(--spacing) * 1);
  }
.gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
.gap-2 {
    gap: calc(var(--spacing) * 2);
  }
.gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
.gap-3 {
    gap: calc(var(--spacing) * 3);
  }
.gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }
.gap-4 {
    gap: calc(var(--spacing) * 4);
  }
.gap-6 {
    gap: calc(var(--spacing) * 6);
  }
.gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
.divide-x {
    :where(& > :not(:last-child)) {
      --tw-divide-x-reverse: 0;
      border-inline-style: var(--tw-border-style);
      border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
      border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
    }
  }
.divide-y {
    :where(& > :not(:last-child)) {
      --tw-divide-y-reverse: 0;
      border-bottom-style: var(--tw-border-style);
      border-top-style: var(--tw-border-style);
      border-top-width: calc(1px * var(--tw-divide-y-reverse));
      border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }
  }
.divide-fd-border {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fd-border);
    }
  }
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.overflow-auto {
    overflow: auto;
  }
.overflow-hidden {
    overflow: hidden;
  }
.overflow-x-auto {
    overflow-x: auto;
  }
.overflow-x-clip {
    overflow-x: clip;
  }
.overflow-y-auto {
    overflow-y: auto;
  }
.overflow-y-hidden {
    overflow-y: hidden;
  }
.overscroll-contain {
    overscroll-behavior: contain;
  }
.rounded-2xl {
    border-radius: var(--radius-2xl);
  }
.rounded-\[inherit\] {
    border-radius: inherit;
  }
.rounded-full {
    border-radius: calc(infinity * 1px);
  }
.rounded-lg {
    border-radius: var(--radius-lg);
  }
.rounded-md {
    border-radius: var(--radius-md);
  }
.rounded-none {
    border-radius: 0;
  }
.rounded-sm {
    border-radius: var(--radius-sm);
  }
.rounded-xl {
    border-radius: var(--radius-xl);
  }
.border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
.border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }
.border-y-0 {
    border-block-style: var(--tw-border-style);
    border-block-width: 0px;
  }
.border-s {
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
  }
.border-e {
    border-inline-end-style: var(--tw-border-style);
    border-inline-end-width: 1px;
  }
.border-e-0 {
    border-inline-end-style: var(--tw-border-style);
    border-inline-end-width: 0px;
  }
.border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
.border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
.border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
.border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
.border-none {
    --tw-border-style: none;
    border-style: none;
  }
.border-fd-foreground\/10 {
    border-color: color-mix(in srgb, hsl(0, 0%, 3.9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-fd-foreground) 10%, transparent);
    }
  }
.border-fd-primary {
    border-color: var(--color-fd-primary);
  }
.border-transparent {
    border-color: transparent;
  }
.bg-\(--callout-color\)\/50 {
    background-color: var(--callout-color);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--callout-color) 50%, transparent);
    }
  }
.bg-\(--shiki-light-bg\) {
    background-color: var(--shiki-light-bg);
  }
.bg-fd-accent {
    background-color: var(--color-fd-accent);
  }
.bg-fd-background {
    background-color: var(--color-fd-background);
  }
.bg-fd-background\/60 {
    background-color: color-mix(in srgb, hsl(0, 0%, 96%) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-background) 60%, transparent);
    }
  }
.bg-fd-background\/80 {
    background-color: color-mix(in srgb, hsl(0, 0%, 96%) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-background) 80%, transparent);
    }
  }
.bg-fd-border {
    background-color: var(--color-fd-border);
  }
.bg-fd-card {
    background-color: var(--color-fd-card);
  }
.bg-fd-foreground\/10 {
    background-color: color-mix(in srgb, hsl(0, 0%, 3.9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-foreground) 10%, transparent);
    }
  }
.bg-fd-muted {
    background-color: var(--color-fd-muted);
  }
.bg-fd-overlay {
    background-color: var(--color-fd-overlay);
  }
.bg-fd-popover {
    background-color: var(--color-fd-popover);
  }
.bg-fd-popover\/60 {
    background-color: color-mix(in srgb, hsl(0, 0%, 98%) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-popover) 60%, transparent);
    }
  }
.bg-fd-popover\/80 {
    background-color: color-mix(in srgb, hsl(0, 0%, 98%) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-popover) 80%, transparent);
    }
  }
.bg-fd-primary {
    background-color: var(--color-fd-primary);
  }
.bg-fd-primary\/10 {
    background-color: color-mix(in srgb, hsl(0, 0%, 9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-primary) 10%, transparent);
    }
  }
.bg-fd-secondary {
    background-color: var(--color-fd-secondary);
  }
.bg-fd-secondary\/50 {
    background-color: color-mix(in srgb, hsl(0, 0%, 93.1%) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-secondary) 50%, transparent);
    }
  }
.bg-transparent {
    background-color: transparent;
  }
.mask-\[linear-gradient\(to_bottom\,transparent\,white_--spacing\(14\)\,white_calc\(100\%---spacing\(14\)\)\,transparent\)\] {
    mask-image: linear-gradient(to bottom,transparent,white calc(var(--spacing) * 14),white calc(100% - calc(var(--spacing) * 14)),transparent);
  }
.mask-\[linear-gradient\(to_bottom\,transparent\,white_12px\,white_calc\(100\%-12px\)\,transparent\)\] {
    mask-image: linear-gradient(to bottom,transparent,white 12px,white calc(100% - 12px),transparent);
  }
.mask-\[linear-gradient\(to_bottom\,transparent\,white_16px\,white_calc\(100\%-16px\)\,transparent\)\] {
    mask-image: linear-gradient(to bottom,transparent,white 16px,white calc(100% - 16px),transparent);
  }
.mask-\[linear-gradient\(to_bottom\,white\,white_30px\,transparent_80px\)\] {
    mask-image: linear-gradient(to bottom,white,white 30px,transparent 80px);
  }
.fill-\(--callout-color\) {
    fill: var(--callout-color);
  }
.fill-fd-primary {
    fill: var(--color-fd-primary);
  }
.fill-fd-primary-foreground {
    fill: var(--color-fd-primary-foreground);
  }
.stroke-current\/25 {
    stroke: currentcolor;
    @supports (color: color-mix(in lab, red, red)) {
      stroke: color-mix(in oklab, currentcolor 25%, transparent);
    }
  }
.stroke-fd-foreground\/10 {
    stroke: color-mix(in srgb, hsl(0, 0%, 3.9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      stroke: color-mix(in oklab, var(--color-fd-foreground) 10%, transparent);
    }
  }
.stroke-fd-primary {
    stroke: var(--color-fd-primary);
  }
.p-0 {
    padding: calc(var(--spacing) * 0);
  }
.p-0\.5 {
    padding: calc(var(--spacing) * 0.5);
  }
.p-1 {
    padding: calc(var(--spacing) * 1);
  }
.p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
.p-2 {
    padding: calc(var(--spacing) * 2);
  }
.p-3 {
    padding: calc(var(--spacing) * 3);
  }
.p-4 {
    padding: calc(var(--spacing) * 4);
  }
.px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
.px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
.px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
.px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
.px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
.px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
.px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
.px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
.px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
.px-px {
    padding-inline: 1px;
  }
.py-0 {
    padding-block: calc(var(--spacing) * 0);
  }
.py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
.py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
.py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
.py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
.py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
.py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
.py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
.py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
.py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
.py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
.py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
.ps-1 {
    padding-inline-start: calc(var(--spacing) * 1);
  }
.ps-2 {
    padding-inline-start: calc(var(--spacing) * 2);
  }
.ps-2\.5 {
    padding-inline-start: calc(var(--spacing) * 2.5);
  }
.ps-3 {
    padding-inline-start: calc(var(--spacing) * 3);
  }
.ps-4 {
    padding-inline-start: calc(var(--spacing) * 4);
  }
.ps-6 {
    padding-inline-start: calc(var(--spacing) * 6);
  }
.ps-8 {
    padding-inline-start: calc(var(--spacing) * 8);
  }
.pe-0 {
    padding-inline-end: calc(var(--spacing) * 0);
  }
.pe-2 {
    padding-inline-end: calc(var(--spacing) * 2);
  }
.pe-2\.5 {
    padding-inline-end: calc(var(--spacing) * 2.5);
  }
.pe-4 {
    padding-inline-end: calc(var(--spacing) * 4);
  }
.pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
.pt-0\.5 {
    padding-top: calc(var(--spacing) * 0.5);
  }
.pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
.pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
.pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
.pr-\(--removed-body-scroll-bar-size\,0\) {
    padding-right: var(--removed-body-scroll-bar-size,0);
  }
.pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }
.pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }
.pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
.pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }
.text-center {
    text-align: center;
  }
.text-end {
    text-align: end;
  }
.text-start {
    text-align: start;
  }
.font-mono {
    font-family: var(--font-mono);
  }
.text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
.text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
.text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
.text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
.text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
.text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
.text-\[0\.8125rem\] {
    font-size: 0.8125rem;
  }
.text-\[0\.9375rem\] {
    font-size: 0.9375rem;
  }
.text-\[1\.75em\] {
    font-size: 1.75em;
  }
.leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
.font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
.font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
.font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
.text-nowrap {
    text-wrap: nowrap;
  }
.wrap-anywhere {
    overflow-wrap: anywhere;
  }
.whitespace-nowrap {
    white-space: nowrap;
  }
.text-\(--callout-color\) {
    color: var(--callout-color);
  }
.text-fd-accent-foreground {
    color: var(--color-fd-accent-foreground);
  }
.text-fd-card {
    color: var(--color-fd-card);
  }
.text-fd-card-foreground {
    color: var(--color-fd-card-foreground);
  }
.text-fd-foreground {
    color: var(--color-fd-foreground);
  }
.text-fd-foreground\/80 {
    color: color-mix(in srgb, hsl(0, 0%, 3.9%) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-fd-foreground) 80%, transparent);
    }
  }
.text-fd-muted-foreground {
    color: var(--color-fd-muted-foreground);
  }
.text-fd-muted-foreground\/50 {
    color: color-mix(in srgb, hsl(0, 0%, 45.1%) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-fd-muted-foreground) 50%, transparent);
    }
  }
.text-fd-popover-foreground {
    color: var(--color-fd-popover-foreground);
  }
.text-fd-popover-foreground\/80 {
    color: color-mix(in srgb, hsl(0, 0%, 15.1%) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-fd-popover-foreground) 80%, transparent);
    }
  }
.text-fd-primary {
    color: var(--color-fd-primary);
  }
.text-fd-primary-foreground {
    color: var(--color-fd-primary-foreground);
  }
.text-fd-primary\/50 {
    color: color-mix(in srgb, hsl(0, 0%, 9%) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-fd-primary) 50%, transparent);
    }
  }
.text-fd-secondary-foreground {
    color: var(--color-fd-secondary-foreground);
  }
.line-through {
    text-decoration-line: line-through;
  }
.underline {
    text-decoration-line: underline;
  }
.opacity-\(--opacity\,0\) {
    opacity: var(--opacity,0);
  }
.opacity-0 {
    opacity: 0%;
  }
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
.shadow-black\/50 {
    --tw-shadow-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
.outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
.filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
.backdrop-blur-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.backdrop-blur-xs {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
.transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[clip-path\] {
    transition-property: clip-path;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[height\] {
    transition-property: height;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[opacity\,offset-distance\] {
    transition-property: opacity,offset-distance;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[opacity\,translate\,color\] {
    transition-property: opacity,translate,color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[opacity\,translate\] {
    transition-property: opacity,translate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[width\,height\] {
    transition-property: width,height;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-\[width\,inset-block\,translate\,background-color\] {
    transition-property: width,inset-block,translate,background-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
.duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
.duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
.duration-250 {
    --tw-duration: 250ms;
    transition-duration: 250ms;
  }
.duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
.duration-400 {
    --tw-duration: 400ms;
    transition-duration: 400ms;
  }
.outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
.select-none {
    -webkit-user-select: none;
    user-select: none;
  }
.\[--fd-docs-height\:100dvh\] {
    --fd-docs-height: 100dvh;
  }
.\[--fd-header-height\:0px\] {
    --fd-header-height: 0px;
  }
.\[--fd-layout-width\:1400px\] {
    --fd-layout-width: 1400px;
  }
.\[--fd-sidebar-width\:0px\] {
    --fd-sidebar-width: 0px;
  }
.\[--fd-toc-popover-height\:0px\] {
    --fd-toc-popover-height: 0px;
  }
.\[--fd-toc-width\:0px\] {
    --fd-toc-width: 0px;
  }
.\[grid-area\:header\] {
    grid-area: header;
  }
.\[grid-area\:main\] {
    grid-area: main;
  }
.\[grid-area\:sidebar\] {
    grid-area: sidebar;
  }
.\[grid-area\:toc-popover\] {
    grid-area: toc-popover;
  }
.\[grid-area\:toc\] {
    grid-area: toc;
  }
.\[offset-distance\:var\(--offset-distance\,0\)\] {
    offset-distance: var(--offset-distance,0);
  }
.\[scrollbar-width\:none\] {
    scrollbar-width: none;
  }
.\*\:pointer-events-auto {
    :is(& > *) {
      pointer-events: auto;
    }
  }
.\*\:col-start-1 {
    :is(& > *) {
      grid-column-start: 1;
    }
  }
.\*\:row-start-1 {
    :is(& > *) {
      grid-row-start: 1;
    }
  }
.\*\:mx-auto {
    :is(& > *) {
      margin-inline: auto;
    }
  }
.\*\:my-auto {
    :is(& > *) {
      margin-block: auto;
    }
  }
.\*\:flex {
    :is(& > *) {
      display: flex;
    }
  }
.\*\:flex\! {
    :is(& > *) {
      display: flex !important;
    }
  }
.\*\:w-\(--fd-sidebar-width\) {
    :is(& > *) {
      width: var(--fd-sidebar-width);
    }
  }
.\*\:max-w-\(--fd-layout-width\) {
    :is(& > *) {
      max-width: var(--fd-layout-width);
    }
  }
.\*\:max-w-\[900px\] {
    :is(& > *) {
      max-width: 900px;
    }
  }
.\*\:max-w-\[1285px\] {
    :is(& > *) {
      max-width: 1285px;
    }
  }
.\*\:flex-col {
    :is(& > *) {
      flex-direction: column;
    }
  }
.\*\:flex-col\! {
    :is(& > *) {
      flex-direction: column !important;
    }
  }
.\*\:gap-0\! {
    :is(& > *) {
      gap: calc(var(--spacing) * 0) !important;
    }
  }
.\*\:gap-0\.5\! {
    :is(& > *) {
      gap: calc(var(--spacing) * 0.5) !important;
    }
  }
.\*\:rounded-full {
    :is(& > *) {
      border-radius: calc(infinity * 1px);
    }
  }
.\*\:rounded-lg {
    :is(& > *) {
      border-radius: var(--radius-lg);
    }
  }
.\*\:rounded-md {
    :is(& > *) {
      border-radius: var(--radius-md);
    }
  }
.\*\:border-b {
    :is(& > *) {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
.not-last\:mb-2 {
    &:not(*:last-child) {
      margin-bottom: calc(var(--spacing) * 2);
    }
  }
.group-data-\[state\=active\]\:bg-fd-primary {
    &:is(:where(.group)[data-state="active"] *) {
      background-color: var(--color-fd-primary);
    }
  }
.group-data-\[state\=open\]\:rotate-90 {
    &:is(:where(.group)[data-state="open"] *) {
      rotate: 90deg;
    }
  }
.group-data-\[state\=open\]\:rotate-180 {
    &:is(:where(.group)[data-state="open"] *) {
      rotate: 180deg;
    }
  }
.peer-hover\:opacity-100 {
    &:is(:where(.peer):hover ~ *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
.placeholder\:text-fd-muted-foreground {
    &::placeholder {
      color: var(--color-fd-muted-foreground);
    }
  }
.before\:absolute {
    &::before {
      content: var(--tw-content);
      position: absolute;
    }
  }
.before\:inset-y-1 {
    &::before {
      content: var(--tw-content);
      inset-block: calc(var(--spacing) * 1);
    }
  }
.before\:inset-s-2\.5 {
    &::before {
      content: var(--tw-content);
      inset-inline-start: calc(var(--spacing) * 2.5);
    }
  }
.before\:start-2\.5 {
    &::before {
      content: var(--tw-content);
      inset-inline-start: calc(var(--spacing) * 2.5);
    }
  }
.before\:w-px {
    &::before {
      content: var(--tw-content);
      width: 1px;
    }
  }
.before\:bg-fd-border {
    &::before {
      content: var(--tw-content);
      background-color: var(--color-fd-border);
    }
  }
.before\:content-\[\'\'\] {
    &::before {
      --tw-content: '';
      content: var(--tw-content);
    }
  }
.first\:ms-0 {
    &:first-child {
      margin-inline-start: calc(var(--spacing) * 0);
    }
  }
.first\:mt-0 {
    &:first-child {
      margin-top: calc(var(--spacing) * 0);
    }
  }
.first\:pt-0 {
    &:first-child {
      padding-top: calc(var(--spacing) * 0);
    }
  }
.last\:me-0 {
    &:last-child {
      margin-inline-end: calc(var(--spacing) * 0);
    }
  }
.last\:rounded-b-xl {
    &:last-child {
      border-bottom-right-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
    }
  }
.last\:pb-0 {
    &:last-child {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
.\*\:last\:border-b-0 {
    :is(& > *) {
      &:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
.empty\:mb-0 {
    &:empty {
      margin-bottom: calc(var(--spacing) * 0);
    }
  }
.empty\:hidden {
    &:empty {
      display: none;
    }
  }
.hover\:bg-fd-accent {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-fd-accent);
      }
    }
  }
.hover\:bg-fd-accent\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, hsla(0, 0%, 82%, 50%) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-fd-accent) 50%, transparent);
        }
      }
    }
  }
.hover\:bg-fd-accent\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, hsla(0, 0%, 82%, 50%) 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-fd-accent) 80%, transparent);
        }
      }
    }
  }
.hover\:bg-fd-primary\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, hsl(0, 0%, 9%) 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-fd-primary) 80%, transparent);
        }
      }
    }
  }
.hover\:text-fd-accent-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--color-fd-accent-foreground);
      }
    }
  }
.hover\:text-fd-accent-foreground\/80 {
    &:hover {
      @media (hover: hover) {
        color: color-mix(in srgb, hsl(0, 0%, 9%) 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-fd-accent-foreground) 80%, transparent);
        }
      }
    }
  }
.hover\:text-fd-popover-foreground\/50 {
    &:hover {
      @media (hover: hover) {
        color: color-mix(in srgb, hsl(0, 0%, 15.1%) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-fd-popover-foreground) 50%, transparent);
        }
      }
    }
  }
.hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
.hover\:transition-none {
    &:hover {
      @media (hover: hover) {
        transition-property: none;
      }
    }
  }
.focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
.focus-visible\:ring-fd-ring {
    &:focus-visible {
      --tw-ring-color: var(--color-fd-ring);
    }
  }
.focus-visible\:outline-none {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
.focus-visible\:ring-inset {
    &:focus-visible {
      --tw-ring-inset: inset;
    }
  }
.disabled\:pointer-events-none {
    &:disabled {
      pointer-events: none;
    }
  }
.disabled\:bg-fd-secondary {
    &:disabled {
      background-color: var(--color-fd-secondary);
    }
  }
.disabled\:text-fd-secondary-foreground {
    &:disabled {
      color: var(--color-fd-secondary-foreground);
    }
  }
.disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
.has-focus-visible\:bg-fd-accent {
    &:has(*:focus-visible) {
      background-color: var(--color-fd-accent);
    }
  }
.has-data-\[active\=true\]\:text-fd-primary {
    &:has(*[data-active="true"]) {
      color: var(--color-fd-primary);
    }
  }
.\*\:has-\[\+\:last-child\[data-empty\=true\]\]\:border-b-0 {
    :is(& > *) {
      &:has(+:last-child[data-empty=true]) {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
.data-checked\:text-fd-accent-foreground {
    &[data-checked] {
      color: var(--color-fd-accent-foreground);
    }
  }
.data-\[active\=true\]\:bg-fd-primary\/10 {
    &[data-active="true"] {
      background-color: color-mix(in srgb, hsl(0, 0%, 9%) 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-fd-primary) 10%, transparent);
      }
    }
  }
.data-\[active\=true\]\:font-medium {
    &[data-active="true"] {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
.data-\[active\=true\]\:text-fd-primary {
    &[data-active="true"] {
      color: var(--color-fd-primary);
    }
  }
.data-\[active\=true\]\:before\:absolute {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        position: absolute;
      }
    }
  }
.data-\[active\=true\]\:before\:inset-y-2\.5 {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 2.5);
      }
    }
  }
.data-\[active\=true\]\:before\:inset-s-2\.5 {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        inset-inline-start: calc(var(--spacing) * 2.5);
      }
    }
  }
.data-\[active\=true\]\:before\:start-2\.5 {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        inset-inline-start: calc(var(--spacing) * 2.5);
      }
    }
  }
.data-\[active\=true\]\:before\:w-px {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        width: 1px;
      }
    }
  }
.data-\[active\=true\]\:before\:bg-fd-primary {
    &[data-active="true"] {
      &::before {
        content: var(--tw-content);
        background-color: var(--color-fd-primary);
      }
    }
  }
.data-\[active\=true\]\:before\:content-\[\'\'\] {
    &[data-active="true"] {
      &::before {
        --tw-content: '';
        content: var(--tw-content);
      }
    }
  }
.data-\[active\=true\]\:hover\:transition-colors {
    &[data-active="true"] {
      &:hover {
        @media (hover: hover) {
          transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
          transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
          transition-duration: var(--tw-duration, var(--default-transition-duration));
        }
      }
    }
  }
.data-\[collapsed\=false\]\:hidden {
    &[data-collapsed="false"] {
      display: none;
    }
  }
.data-\[column-changed\=true\]\:transition-\[grid-template-columns\] {
    &[data-column-changed="true"] {
      transition-property: grid-template-columns;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
.\*\:data-\[empty\=true\]\:border-b-0 {
    :is(& > *) {
      &[data-empty="true"] {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
.data-\[motion\=from-end\]\:animate-fd-enterFromRight {
    &[data-motion="from-end"] {
      animation: var(--animate-fd-enterFromRight);
    }
  }
.data-\[motion\=from-start\]\:animate-fd-enterFromLeft {
    &[data-motion="from-start"] {
      animation: var(--animate-fd-enterFromLeft);
    }
  }
.data-\[motion\=to-end\]\:animate-fd-exitToRight {
    &[data-motion="to-end"] {
      animation: var(--animate-fd-exitToRight);
    }
  }
.data-\[motion\=to-start\]\:animate-fd-exitToLeft {
    &[data-motion="to-start"] {
      animation: var(--animate-fd-exitToLeft);
    }
  }
.data-\[state\=active\]\:border-fd-primary {
    &[data-state="active"] {
      border-color: var(--color-fd-primary);
    }
  }
.data-\[state\=active\]\:text-fd-primary {
    &[data-state="active"] {
      color: var(--color-fd-primary);
    }
  }
.data-\[state\=closed\]\:animate-fd-accordion-up {
    &[data-state="closed"] {
      animation: var(--animate-fd-accordion-up);
    }
  }
.data-\[state\=closed\]\:animate-fd-collapsible-up {
    &[data-state="closed"] {
      animation: var(--animate-fd-collapsible-up);
    }
  }
.data-\[state\=closed\]\:animate-fd-dialog-out {
    &[data-state="closed"] {
      animation: var(--animate-fd-dialog-out);
    }
  }
.data-\[state\=closed\]\:animate-fd-fade-out {
    &[data-state="closed"] {
      animation: var(--animate-fd-fade-out);
    }
  }
.data-\[state\=closed\]\:animate-fd-nav-menu-out {
    &[data-state="closed"] {
      animation: var(--animate-fd-nav-menu-out);
    }
  }
.data-\[state\=closed\]\:animate-fd-popover-out {
    &[data-state="closed"] {
      animation: var(--animate-fd-popover-out);
    }
  }
.data-\[state\=closed\]\:animate-fd-sidebar-out {
    &[data-state="closed"] {
      animation: var(--animate-fd-sidebar-out);
    }
  }
.data-\[state\=hidden\]\:animate-fd-fade-out {
    &[data-state="hidden"] {
      animation: var(--animate-fd-fade-out);
    }
  }
.data-\[state\=inactive\]\:hidden {
    &[data-state="inactive"] {
      display: none;
    }
  }
.data-\[state\=open\]\:animate-fd-accordion-down {
    &[data-state="open"] {
      animation: var(--animate-fd-accordion-down);
    }
  }
.data-\[state\=open\]\:animate-fd-collapsible-down {
    &[data-state="open"] {
      animation: var(--animate-fd-collapsible-down);
    }
  }
.data-\[state\=open\]\:animate-fd-dialog-in {
    &[data-state="open"] {
      animation: var(--animate-fd-dialog-in);
    }
  }
.data-\[state\=open\]\:animate-fd-fade-in {
    &[data-state="open"] {
      animation: var(--animate-fd-fade-in);
    }
  }
.data-\[state\=open\]\:animate-fd-nav-menu-in {
    &[data-state="open"] {
      animation: var(--animate-fd-nav-menu-in);
    }
  }
.data-\[state\=open\]\:animate-fd-popover-in {
    &[data-state="open"] {
      animation: var(--animate-fd-popover-in);
    }
  }
.data-\[state\=open\]\:animate-fd-sidebar-in {
    &[data-state="open"] {
      animation: var(--animate-fd-sidebar-in);
    }
  }
.data-\[state\=open\]\:bg-fd-accent {
    &[data-state="open"] {
      background-color: var(--color-fd-accent);
    }
  }
.data-\[state\=open\]\:bg-fd-accent\/50 {
    &[data-state="open"] {
      background-color: color-mix(in srgb, hsla(0, 0%, 82%, 50%) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-fd-accent) 50%, transparent);
      }
    }
  }
.data-\[state\=open\]\:text-fd-accent-foreground {
    &[data-state="open"] {
      color: var(--color-fd-accent-foreground);
    }
  }
.data-\[transparent\=false\]\:bg-fd-background\/80 {
    &[data-transparent="false"] {
      background-color: color-mix(in srgb, hsl(0, 0%, 96%) 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-fd-background) 80%, transparent);
      }
    }
  }
.max-xl\:hidden {
    @media (width < 80rem) {
      display: none;
    }
  }
.max-lg\:flex {
    @media (width < 64rem) {
      display: flex;
    }
  }
.max-lg\:hidden {
    @media (width < 64rem) {
      display: none;
    }
  }
.max-lg\:rounded-b-2xl {
    @media (width < 64rem) {
      border-bottom-right-radius: var(--radius-2xl);
      border-bottom-left-radius: var(--radius-2xl);
    }
  }
.max-lg\:shadow-lg {
    @media (width < 64rem) {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
.max-md\:flex {
    @media (width < 48rem) {
      display: flex;
    }
  }
.max-md\:hidden {
    @media (width < 48rem) {
      display: none;
    }
  }
.max-md\:rounded-md {
    @media (width < 48rem) {
      border-radius: var(--radius-md);
    }
  }
.max-md\:border {
    @media (width < 48rem) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
.max-md\:bg-fd-secondary {
    @media (width < 48rem) {
      background-color: var(--color-fd-secondary);
    }
  }
.max-md\:p-1\.5 {
    @media (width < 48rem) {
      padding: calc(var(--spacing) * 1.5);
    }
  }
.max-sm\:mt-2 {
    @media (width < 40rem) {
      margin-top: calc(var(--spacing) * 2);
    }
  }
.max-sm\:hidden {
    @media (width < 40rem) {
      display: none;
    }
  }
.sm\:bottom-6 {
    @media (width >= 40rem) {
      bottom: calc(var(--spacing) * 6);
    }
  }
.sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
.sm\:max-w-\[380px\] {
    @media (width >= 40rem) {
      max-width: 380px;
    }
  }
.sm\:max-w-\[400px\] {
    @media (width >= 40rem) {
      max-width: 400px;
    }
  }
.sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
.sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
.sm\:justify-end {
    @media (width >= 40rem) {
      justify-content: flex-end;
    }
  }
.sm\:rounded-2xl {
    @media (width >= 40rem) {
      border-radius: var(--radius-2xl);
    }
  }
.sm\:border {
    @media (width >= 40rem) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
.sm\:p-1 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 1);
    }
  }
.md\:top-\[calc\(50\%-250px\)\] {
    @media (width >= 48rem) {
      top: calc(50% - 250px);
    }
  }
.md\:mb-auto {
    @media (width >= 48rem) {
      margin-bottom: auto;
    }
  }
.md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
.md\:size-5 {
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
    }
  }
.md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
.md\:gap-2 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 2);
    }
  }
.md\:px-6 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
.md\:pt-8 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 8);
    }
  }
.has-data-\[collapsed\=true\]\:md\:flex {
    &:has(*[data-collapsed="true"]) {
      @media (width >= 48rem) {
        display: flex;
      }
    }
  }
.lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
.lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
.lg\:text-sm {
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
.xl\:hidden {
    @media (width >= 80rem) {
      display: none;
    }
  }
.xl\:px-8 {
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
.xl\:pt-14 {
    @media (width >= 80rem) {
      padding-top: calc(var(--spacing) * 14);
    }
  }
.\@max-xl\:hidden {
    @container (width < 36rem) {
      display: none;
    }
  }
.\@max-lg\:col-span-full {
    @container (width < 32rem) {
      grid-column: 1 / -1;
    }
  }
.rtl\:-translate-x-2 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      --tw-translate-x: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
.rtl\:translate-x-full {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      --tw-translate-x: 100%;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
.rtl\:rotate-90 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      rotate: 90deg;
    }
  }
.rtl\:rotate-180 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      rotate: 180deg;
    }
  }
.dark\:bg-\(--shiki-dark-bg\) {
    &:where(.dark, .dark *) {
      background-color: var(--shiki-dark-bg);
    }
  }
.layout\:\[--fd-header-height\:--spacing\(14\)\] {
    #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
      --fd-header-height: calc(var(--spacing) * 14);
    }
  }
.max-xl\:layout\:\[--fd-toc-popover-height\:--spacing\(10\)\] {
    @media (width < 80rem) {
      #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
        --fd-toc-popover-height: calc(var(--spacing) * 10);
      }
    }
  }
.max-md\:layout\:\[--fd-header-height\:--spacing\(14\)\] {
    @media (width < 48rem) {
      #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
        --fd-header-height: calc(var(--spacing) * 14);
      }
    }
  }
.md\:layout\:\[--fd-sidebar-width\:268px\] {
    @media (width >= 48rem) {
      #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
        --fd-sidebar-width: 268px;
      }
    }
  }
.lg\:layout\:\[--fd-header-height\:--spacing\(24\)\] {
    @media (width >= 64rem) {
      #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
        --fd-header-height: calc(var(--spacing) * 24);
      }
    }
  }
.xl\:layout\:\[--fd-toc-width\:268px\] {
    @media (width >= 80rem) {
      #nd-docs-layout:has(&), #nd-notebook-layout:has(&), #nd-home-layout:has(&), #nd-flux-layout:has(&) {
        --fd-toc-width: 268px;
      }
    }
  }
.\[\&_svg\]\:size-3\.5 {
    & svg {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }
.\[\&_svg\]\:size-4 {
    & svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
.\[\&_svg\]\:size-4\.5 {
    & svg {
      width: calc(var(--spacing) * 4.5);
      height: calc(var(--spacing) * 4.5);
    }
  }
.\[\&_svg\]\:size-5 {
    & svg {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
    }
  }
.\[\&_svg\]\:size-5\.5 {
    & svg {
      width: calc(var(--spacing) * 5.5);
      height: calc(var(--spacing) * 5.5);
    }
  }
.\[\&_svg\]\:size-full {
    & svg {
      width: 100%;
      height: 100%;
    }
  }
.\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }
.\[\&_svg\]\:text-fd-muted-foreground {
    & svg {
      color: var(--color-fd-muted-foreground);
    }
  }
.\[\&\>figure\:only-child\]\:-m-4 {
    &>figure:only-child {
      margin: calc(var(--spacing) * -4);
    }
  }
.\[\&\>figure\:only-child\]\:border-none {
    &>figure:only-child {
      --tw-border-style: none;
      border-style: none;
    }
  }
.dark {
  --color-fd-background: hsl(0, 0%, 7.04%);
  --color-fd-foreground: hsl(0, 0%, 92%);
  --color-fd-muted: hsl(0, 0%, 12.9%);
  --color-fd-muted-foreground: hsla(0, 0%, 70%, 0.8);
  --color-fd-popover: hsl(0, 0%, 11.6%);
  --color-fd-popover-foreground: hsl(0, 0%, 86.9%);
  --color-fd-card: hsl(0, 0%, 9.8%);
  --color-fd-card-foreground: hsl(0, 0%, 98%);
  --color-fd-border: hsla(0, 0%, 40%, 20%);
  --color-fd-primary: hsl(0, 0%, 98%);
  --color-fd-primary-foreground: hsl(0, 0%, 9%);
  --color-fd-secondary: hsl(0, 0%, 12.9%);
  --color-fd-secondary-foreground: hsl(0, 0%, 92%);
  --color-fd-accent: hsla(0, 0%, 40.9%, 30%);
  --color-fd-accent-foreground: hsl(0, 0%, 90%);
  --color-fd-ring: hsl(0, 0%, 54.9%);
  --color-fd-overlay: hsla(0, 0%, 0%, 0.2);
}
.dark #nd-sidebar {
  --color-fd-muted: hsl(0, 0%, 16%);
  --color-fd-secondary: hsl(0, 0%, 18%);
  --color-fd-muted-foreground: hsl(0, 0%, 72%);
}
:root {
  --fd-sidebar-drawer-offset: 100%;
}
[dir='rtl'] {
  --fd-sidebar-drawer-offset: -100%;
}
*, ::after, ::before, ::backdrop, ::file-selector-button {
    border-color: var(--color-fd-border, currentColor);
  }
body {
    background-color: var(--color-fd-background);
    color: var(--color-fd-foreground);
  }
.fd-page-tree-item-name {
  display: inline-flex;
  width: 100%;
  align-items: center;
  gap: calc(var(--spacing) * 1);
}
.shiki:not(.not-fumadocs-codeblock *) {
  --padding-left: calc(var(--spacing) * 4);
  --padding-right: calc(var(--spacing) * 4);
  code span {
    color: var(--shiki-light);
    font-style: var(--shiki-light-font-style);
  }
  .line {
    position: relative;
    padding-left: var(--padding-left);
    padding-right: var(--padding-right);
  }
  .line:empty {
    height: 1lh;
  }
  &.has-focused .line:not(.focused) {
    filter: blur(2px);
    transition: filter 200ms;
  }
  &.has-focused:hover .line:not(.focused) {
    filter: blur(0);
  }
  .diff::before {
    position: absolute;
    left: calc(var(--spacing) * 1.5);
  }
  .diff.remove {
    opacity: 0.7;
    --fd-counter-color: var(--color-fd-diff-remove-symbol);
    background-color: var(--color-fd-diff-remove);
  }
  .diff.remove::before {
    content: '-';
    color: var(--color-fd-diff-remove-symbol);
  }
  .diff.add {
    --fd-counter-color: var(--color-fd-diff-add-symbol);
    background-color: var(--color-fd-diff-add);
  }
  .diff.add::before {
    content: '+';
    color: var(--color-fd-diff-add-symbol);
  }
  .highlighted {
    --fd-counter-color: var(--color-fd-primary);
    background-color: color-mix(in srgb, hsl(0, 0%, 9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-primary) 10%, transparent);
    }
  }
  .highlighted::after {
    position: absolute;
    content: '';
    inset-block: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
    border-color: color-mix(in srgb, hsl(0, 0%, 9%) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-fd-primary) 50%, transparent);
    }
  }
  .highlighted-word {
    padding: 1px;
    margin-block: -1px;
    border-radius: var(--radius-md);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: color-mix(in srgb, hsl(0, 0%, 9%) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-fd-primary) 30%, transparent);
    }
    background-color: color-mix(in srgb, hsl(0, 0%, 9%) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-fd-primary) 10%, transparent);
    }
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  &[data-line-numbers] .twoslash-meta-line {
    padding-left: calc(var(--padding-left) + 7 * var(--spacing));
  }
  &[data-line-numbers] .line {
    counter-increment: line;
    padding-left: calc(var(--padding-left) + 7 * var(--spacing));
  }
  &[data-line-numbers] .line::after {
    position: absolute;
    content: counter(line);
    color: var(--fd-counter-color, hsl(0, 0%, 45.1%));
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix( in oklab, var(--fd-counter-color, var(--color-fd-muted-foreground)) 60%, transparent );
    }
    inset-block: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    width: calc(var(--spacing) * 7);
    text-align: right;
  }
}
.dark .shiki:not(.not-fumadocs-codeblock *) {
  code span {
    color: var(--shiki-dark);
    font-style: var(--shiki-dark-font-style);
  }
}
code.shiki span {
  color: var(--shiki-light);
  font-style: var(--shiki-light-font-style);
}
.dark code.shiki span {
  color: var(--shiki-dark);
  font-style: var(--shiki-dark-font-style);
}
@property --radix-collapsible-content-height {
  syntax: '<length>';
  inherits: false;
  initial-value: 0px;
}
body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
  }
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes fd-sidebar-in {
  from {
    transform: translateX(var(--fd-sidebar-drawer-offset));
  }
}
@keyframes fd-sidebar-out {
  to {
    transform: translateX(var(--fd-sidebar-drawer-offset));
  }
}
@keyframes fd-dialog-in {
  from {
    transform: scale(1.06);
    opacity: 0;
  }
  to {
    transform: scale(1);
  }
}
@keyframes fd-dialog-out {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.04);
    opacity: 0;
  }
}
@keyframes fd-popover-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes fd-popover-out {
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes fd-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fd-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fd-enterFromRight {
  from {
    opacity: 0;
    transform: translateX(200px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fd-enterFromLeft {
  from {
    opacity: 0;
    transform: translateX(-200px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fd-exitToRight {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(200px);
  }
}
@keyframes fd-exitToLeft {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-200px);
  }
}
@keyframes fd-collapsible-down {
  from {
    height: 0;
    opacity: 0;
  }
  to {
    height: var(--radix-collapsible-content-height);
  }
}
@keyframes fd-collapsible-up {
  from {
    height: var(--radix-collapsible-content-height);
  }
  to {
    height: 0;
    opacity: 0;
  }
}
@keyframes fd-accordion-down {
  from {
    height: 0;
    opacity: 0.5;
  }
  to {
    height: var(--radix-accordion-content-height);
  }
}
@keyframes fd-accordion-up {
  from {
    height: var(--radix-accordion-content-height);
  }
  to {
    height: 0;
    opacity: 0.5;
  }
}
@keyframes fd-nav-menu-in {
  from {
    opacity: 0;
    height: 0px;
  }
  to {
    opacity: 1;
    height: var(--radix-navigation-menu-viewport-height);
  }
}
@keyframes fd-nav-menu-out {
  from {
    opacity: 1;
    height: var(--radix-navigation-menu-viewport-height);
  }
  to {
    opacity: 0;
    height: 0px;
  }
}
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-divide-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-content: "";
      --radix-collapsible-content-height: 0px;
    }
  }

@keyframes fd-ai-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fd-ai-slide-up {
  from {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes fd-ai-float-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes fd-ai-float-center-in {
  from {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

.fd-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: color-mix(in srgb, var(--color-fd-background, #000) 70%, transparent);
  backdrop-filter: blur(6px);
  animation: fd-ai-fade-in 150ms ease-out;
}

.fd-ai-dialog {
  position: fixed;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  background: var(--color-fd-popover, var(--color-fd-background, #0c0c0c));
  border: 1px solid var(--color-fd-border, #1f1f2e);
  border-radius: var(--radius, 12px);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--color-fd-background, #000) 60%, transparent);
  overflow: hidden;
  color: var(--color-fd-foreground, #e4e4e7);
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
}

.fd-ai-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
}

.fd-ai-header-title {
  font-size: 14px;
  font-weight: 600;
  flex: 1;
}

.fd-ai-esc {
  padding: 2px 6px;
  border-radius: var(--radius, 4px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  font-size: 10px;
  font-family: inherit;
  margin-right: 4px;
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius, 6px);
  border: none;
  cursor: pointer;
  background: transparent;
  color: var(--color-fd-muted-foreground, #71717a);
  transition: all 150ms;
}

.fd-ai-close-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
}

.fd-ai-tab-bar {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 10px 12px 0;
  border-bottom: 1px solid var(--color-fd-border, #1f1f2e);
}

.fd-ai-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  border: none;
  border-radius: var(--radius, 8px) var(--radius, 8px) 0 0;
  cursor: pointer;
  transition: all 150ms;
  background: transparent;
  color: var(--color-fd-muted-foreground, #71717a);
  border-bottom: 2px solid transparent;
  font-family: inherit;
}

.fd-ai-tab[data-active="true"] {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-foreground, #e4e4e7);
  border-bottom-color: var(--color-fd-primary, #6366f1);
}

.fd-ai-tab:hover:not([data-active="true"]) {
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
}

.fd-ai-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color-fd-foreground, #e4e4e7);
  font-size: 14px;
  font-family: inherit;
}

.fd-ai-input::placeholder {
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-results {
  flex: 1;
  overflow-y: auto;
  padding: 4px 8px;
}

.fd-ai-result {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: var(--radius, 8px);
  cursor: pointer;
  text-align: left;
  font-size: 13px;
  font-family: inherit;
  transition: background 100ms;
  background: transparent;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-result[data-active="true"] {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-accent-foreground, #fff);
}

.fd-ai-result-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--color-fd-muted-foreground, #71717a);
  font-size: 13px;
}

.fd-ai-messages {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fd-ai-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 12px;
  padding: 24px 0;
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-empty-title {
  font-size: 14px;
  font-weight: 500;
}

.fd-ai-empty-desc {
  font-size: 12px;
  opacity: 0.7;
  text-align: center;
  max-width: 300px;
  line-height: 1.5;
}

.fd-ai-suggestions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  max-width: 360px;
  margin-top: 8px;
}

.fd-ai-suggestion {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--radius, 8px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.08));
  background: var(--color-fd-background, rgba(255, 255, 255, 0.01));
  opacity: 0.6;
  color: var(--color-fd-foreground, #e4e4e7);
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  line-height: 1.4;
  transition: all 150ms;
}

.fd-ai-suggestion:hover {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
  border-color: var(--color-fd-ring, rgba(255, 255, 255, 0.15));
}

.fd-ai-msg {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fd-ai-msg[data-role="user"] {
  align-items: flex-end;
}

.fd-ai-msg[data-role="assistant"] {
  align-items: flex-start;
}

.fd-ai-msg-label {
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fd-muted-foreground, #71717a);
  padding: 0 2px;
}

.fd-ai-bubble-user {
  background: var(--color-fd-primary, #6366f1);
  color: var(--color-fd-primary-foreground, #fff);
  padding: 8px 14px;
  border-radius: var(--radius, 14px);
  font-size: 13px;
  line-height: 1.5;
  max-width: 85%;
  word-break: break-word;
}

.fd-ai-bubble-ai {
  background: var(--color-fd-muted, rgba(255, 255, 255, 0.04));
  padding: 10px 14px;
  border-radius: var(--radius, 14px);
  font-size: 13px;
  line-height: 1.6;
  max-width: 95%;
  word-break: break-word;
  animation: fd-ai-msg-in 300ms ease-out;
}

.fd-ai-feedback {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--color-fd-border, #1f1f2e) 70%, transparent);
}

.fd-ai-feedback-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid transparent;
  border-radius: var(--radius, 6px);
  background: transparent;
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  transition:
    background 150ms,
    border-color 150ms,
    color 150ms;
}

.fd-ai-feedback-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
}

.fd-ai-feedback-btn[data-active="true"] {
  color: var(--color-fd-primary, #6366f1);
  border-color: color-mix(in srgb, var(--color-fd-primary, #6366f1) 40%, transparent);
  background: color-mix(in srgb, var(--color-fd-primary, #6366f1) 10%, transparent);
}

.fd-ai-feedback-btn[data-copied="true"] {
  color: var(--color-fd-primary, #6366f1);
  background: color-mix(in srgb, var(--color-fd-primary, #6366f1) 10%, transparent);
}

@keyframes fd-ai-msg-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.fd-ai-chat-footer {
  padding: 8px 12px 12px;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
}

.fd-ai-model-select-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  overflow: visible;
  margin-bottom: 6px;
}

.fd-ai-model-select-row--fm {
  padding: 8px 12px 0;
}

.fd-ai-model-dropdown {
  position: relative;
  margin-left: auto;
}

.fd-ai-model-dropdown-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
  background: transparent;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.12));
  border-radius: var(--radius, 6px);
  cursor: pointer;
  transition: all 150ms;
}

.fd-ai-model-dropdown-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  border-color: var(--color-fd-border, rgba(255, 255, 255, 0.25));
}

.fd-ai-model-dropdown-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.fd-ai-model-dropdown-menu {
  position: absolute;
  bottom: calc(100% + 6px);
  right: 0;
  z-index: 99999;
  min-width: 220px;
  padding: 4px;
  background: var(--color-fd-popover, var(--color-fd-background, #0c0c0c));
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius, 8px);
  box-shadow: 2px 2px 0 0 var(--color-fd-border, #262626);
  animation: fd-ai-fade-in 100ms ease-out;
}

.fd-ai-model-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 10px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  font-size: 13px;
  font-family: inherit;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #e4e4e7));
  background: transparent;
  cursor: pointer;
  transition: background 100ms;
}

.fd-ai-model-dropdown-item:hover {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
}

.fd-ai-model-dropdown-item[data-active="true"] {
  color: var(--color-fd-primary, #6366f1);
}

.fd-ai-model-dropdown-label {
  flex: 1;
  text-align: left;
}

.fd-ai-clear-btn {
  font-size: 11px;
  color: var(--color-fd-muted-foreground, #71717a);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 2px 8px;
  border-radius: var(--radius, 4px);
  font-family: inherit;
}

.fd-ai-clear-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--color-fd-muted, rgba(255, 255, 255, 0.04));
  border-radius: var(--radius, 10px);
  padding: 4px 4px 4px 14px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.08));
}

.fd-ai-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius, 8px);
  border: none;
  transition: all 150ms;
  cursor: default;
  background: var(--color-fd-muted, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-send-btn[data-active="true"] {
  cursor: pointer;
  background: var(--color-fd-primary, #6366f1);
  color: var(--color-fd-primary-foreground, #fff);
}

.fd-ai-loader {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  animation: fd-ai-loader-in 300ms ease-out;
}

@keyframes fd-ai-loader-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.fd-ai-loader-shimmer-text {
  font-size: 13px;
  font-weight: 500;
  background: linear-gradient(
    to right,
    var(--color-fd-muted-foreground, #888) 40%,
    var(--color-fd-foreground, #fff) 60%,
    var(--color-fd-muted-foreground, #888) 80%
  );
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: fd-ai-shimmer-text 3s linear infinite;
}

@keyframes fd-ai-shimmer-text {
  0% { background-position: 150% center; }
  100% { background-position: -150% center; }
}

.fd-ai-loader-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.fd-ai-loader-typing-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-typing 1s infinite;
}

.fd-ai-loader-typing-dot:nth-child(2) { animation-delay: 250ms; }
.fd-ai-loader-typing-dot:nth-child(3) { animation-delay: 500ms; }

@keyframes fd-ai-typing {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(-2px); opacity: 1; }
}

.fd-ai-loader-circular {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-fd-primary, #6366f1);
  border-top-color: transparent;
  border-radius: 50%;
  animation: fd-ai-spin 0.8s linear infinite;
}

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

.fd-ai-loader-dots {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.fd-ai-loader-bounce-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-bounce-dots 1.4s ease-in-out infinite;
}

.fd-ai-loader-bounce-dot:nth-child(2) { animation-delay: 160ms; }
.fd-ai-loader-bounce-dot:nth-child(3) { animation-delay: 320ms; }

@keyframes fd-ai-bounce-dots {
  0%, 100% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 1; }
}

.fd-ai-loader-wave {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 16px;
}

.fd-ai-loader-wave-bar {
  width: 2px;
  border-radius: 2px;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-wave 1s ease-in-out infinite;
}

.fd-ai-loader-wave-bar:nth-child(1) { height: 6px; animation-delay: 0ms; }
.fd-ai-loader-wave-bar:nth-child(2) { height: 10px; animation-delay: 100ms; }
.fd-ai-loader-wave-bar:nth-child(3) { height: 14px; animation-delay: 200ms; }
.fd-ai-loader-wave-bar:nth-child(4) { height: 10px; animation-delay: 300ms; }
.fd-ai-loader-wave-bar:nth-child(5) { height: 6px; animation-delay: 400ms; }

@keyframes fd-ai-wave {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.6); }
}

.fd-ai-loader-pulse {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-fd-primary, #6366f1);
  border-radius: 50%;
  animation: fd-ai-pulse 1.5s ease-in-out infinite;
}

@keyframes fd-ai-pulse {
  0%, 100% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 0.4; }
}

.fd-ai-loader-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-pulse-dot 1.2s ease-in-out infinite;
}

@keyframes fd-ai-pulse-dot {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.5); opacity: 1; }
}

.fd-ai-loader-terminal {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.fd-ai-loader-terminal-prompt {
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  font-size: 13px;
  color: var(--color-fd-primary, #6366f1);
}

.fd-ai-loader-terminal-cursor {
  width: 7px;
  height: 14px;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-blink 1s step-end infinite;
}

@keyframes fd-ai-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.fd-ai-loader-text-blink {
  font-size: 13px;
  font-weight: 500;
  animation: fd-ai-text-blink 2s ease-in-out infinite;
}

@keyframes fd-ai-text-blink {
  0%, 100% { color: var(--color-fd-primary, #6366f1); }
  50% { color: var(--color-fd-muted-foreground, #888); }
}

.fd-ai-loader-text {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-fd-primary, #6366f1);
}

.fd-ai-loader-text-dots {
  display: inline-flex;
}

.fd-ai-loader-text-dot {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-fd-primary, #6366f1);
  animation: fd-ai-loading-dots 1.4s infinite;
}

.fd-ai-loader-text-dot:nth-child(1) { animation-delay: 200ms; }
.fd-ai-loader-text-dot:nth-child(2) { animation-delay: 400ms; }
.fd-ai-loader-text-dot:nth-child(3) { animation-delay: 600ms; }

@keyframes fd-ai-loading-dots {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

.fd-ai-loader-bars {
  display: inline-flex;
  align-items: stretch;
  gap: 3px;
  height: 16px;
}

.fd-ai-loader-bar {
  width: 4px;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-wave-bars 1.2s ease-in-out infinite;
}

.fd-ai-loader-bar:nth-child(1) { animation-delay: 0s; }
.fd-ai-loader-bar:nth-child(2) { animation-delay: 0.2s; }
.fd-ai-loader-bar:nth-child(3) { animation-delay: 0.4s; }

@keyframes fd-ai-wave-bars {
  0%, 100% { transform: scaleY(1); opacity: 0.5; }
  50% { transform: scaleY(0.6); opacity: 1; }
}

.fd-ai-streaming {
  text-rendering: optimizeLegibility;
}

.fd-ai-streaming::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 0.95em;
  background: var(--color-fd-primary, #6366f1);
  border-radius: 999px;
  margin-left: 3px;
  vertical-align: text-bottom;
  animation: fd-ai-cursor-blink 900ms ease-in-out infinite;
  box-shadow: 0 0 10px color-mix(in srgb, var(--color-fd-primary, #6366f1) 35%, transparent);
}

@keyframes fd-ai-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

@media (prefers-reduced-motion: reduce) {
  .fd-ai-streaming::after {
    animation: none;
  }
}

.fd-ai-floating-btn {
  position: fixed;
  z-index: 9997;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
  backdrop-filter: blur(4px);
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  font-size: 14px;
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
  transition:
    transform 150ms,
    background 150ms,
    color 150ms;
  animation: fd-ai-fade-in 300ms ease-out;
}

.fd-ai-floating-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  transform: scale(1.03);
}

.fd-ai-floating-btn:active {
  transform: scale(0.97);
}

.fd-ai-floating-trigger {
  position: fixed;
  z-index: 9997;
  cursor: pointer;
  animation: fd-ai-fade-in 300ms ease-out;
}

.fd-ai-floating-trigger .ask-ai-trigger {
  font-size: 14px;
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
}

.fd-ai-bubble-ai code {
  background: var(--color-fd-muted, #1a1a2e);
  padding: 2px 6px;
  border-radius: var(--radius, 4px);
  font-size: 0.875em;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
}

.fd-ai-bubble-ai a {
  color: var(--color-fd-primary, #6366f1);
  text-decoration: underline;
}

.fd-ai-bubble-ai .fd-ai-code-block code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}

.fd-ai-bubble-ai table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 13px;
}

.fd-ai-bubble-ai th,
.fd-ai-bubble-ai td {
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  padding: 6px 12px;
  text-align: left;
}

.fd-ai-bubble-ai th {
  background: var(--color-fd-muted, #1a1a2e);
  font-weight: 600;
  font-size: 12px;
}

.fd-ai-bubble-ai h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 12px 0 6px;
  line-height: 1.3;
  color: inherit;
}

.fd-ai-bubble-ai h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 10px 0 4px;
  line-height: 1.4;
  color: inherit;
}

.fd-ai-bubble-ai h4 {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 8px 0 4px;
  line-height: 1.4;
  color: inherit;
}

.fd-ai-bubble-ai h5 {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 8px 0 4px;
  line-height: 1.4;
  color: inherit;
}

.fd-ai-bubble-ai ul,
.fd-ai-bubble-ai ol {
  margin: 6px 0 8px;
  padding-left: 1.25rem;
}

.fd-ai-bubble-ai li {
  margin: 3px 0;
  padding-left: 2px;
}

.fd-ai-bubble-ai li::marker {
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-bubble-ai .fd-ai-hr {
  border: 0;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  margin: 12px 0;
}

.fd-ai-bubble-ai strong {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-bubble-ai em {
  font-style: italic;
}

.fd-ai-bubble-ai p {
  margin: 0 0 6px;
}

.fd-ai-bubble-ai br {
  content: "";
  display: block;
  margin-top: 2px;
}

.fd-ai-bubble-ai pre {
  margin: 8px 0;
  border-radius: 0;
  border: none;
  background: transparent;
  padding: 0;
}

.fd-ai-bubble-ai > div > div[style*="height:8px"] {
  height: 6px;
}

.fd-ai-code-block {
  --sh-class: #8be9fd;
  --sh-identifier: #c9d1d9;
  --sh-keyword: #ff7b72;
  --sh-string: #a5d6ff;
  --sh-property: #79c0ff;
  --sh-entity: #7ee787;
  --sh-sign: #8b949e;
  --sh-comment: #6e7681;
  --sh-jsxliterals: #d2a8ff;
  --sh-space: inherit;

  margin: 10px 0;
  border-radius: var(--radius, 8px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-muted, #1a1a2e);
  overflow: hidden;
}

.fd-ai-code-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.08));
  background: color-mix(in srgb, var(--color-fd-muted, #1a1a2e) 80%, black);
  min-height: 32px;
}

.fd-ai-code-lang {
  font-size: 11px;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground, #71717a);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.fd-ai-code-copy {
  font-size: 11px;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground, #71717a);
  background: transparent;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius, 4px);
  padding: 2px 8px;
  cursor: pointer;
  transition: all 150ms;
}

.fd-ai-code-copy:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  background: color-mix(
    in srgb,
    var(--color-fd-accent, rgba(255, 255, 255, 0.05)) 60%,
    transparent
  );
}

.fd-ai-code-block pre {
  margin: 0;
  padding: 12px 16px;
  overflow-x: auto;
  background: transparent;
  border: none;
  border-radius: 0;
}

.fd-ai-code-block code {
  font-size: 13px;
  line-height: 1.45;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  background: transparent;
  padding: 0;
  border-radius: 0;
}

.fd-ai-code-block .sh__line {
  display: block;
  min-height: 1.2em;
}

:root:not(.dark) .fd-ai-code-block {
  --sh-class: #b45309;
  --sh-identifier: #1f2937;
  --sh-keyword: #7c3aed;
  --sh-string: #0d9488;
  --sh-property: #dc2626;
  --sh-entity: #059669;
  --sh-sign: #374151;
  --sh-comment: #6b7280;
  --sh-jsxliterals: #7c3aed;
  border-color: rgba(0, 0, 0, 0.12);
  background: #f4f4f5;
}

:root:not(.dark) .fd-ai-code-header {
  border-bottom-color: rgba(0, 0, 0, 0.1);
  background: color-mix(in srgb, #e4e4e7 80%, transparent);
}

:root:not(.dark) .fd-ai-code-lang {
  color: #52525b;
}

:root:not(.dark) .fd-ai-code-copy {
  color: #52525b;
  border-color: rgba(0, 0, 0, 0.15);
}

:root:not(.dark) .fd-ai-code-copy:hover {
  color: #18181b;
  background: color-mix(in srgb, #d4d4d8 60%, transparent);
}

:root:not(.dark) .fd-ai-code-block code {
  color: #1f2937;
}

.fd-ai-fm-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: color-mix(in srgb, var(--color-fd-background, #000) 80%, transparent);
  backdrop-filter: blur(8px);
  z-index: 9998;
  animation: fd-ai-fade-in 200ms ease-out;
  padding: 0 8px;
}

.fd-ai-fm-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: min(800px, 100%);
  padding: 12px 0;
  position: sticky;
  top: 0;
  z-index: 2;
}

.fd-ai-fm-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius, 9999px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-secondary, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-foreground, #e4e4e7);
  cursor: pointer;
  transition: all 150ms;
}

.fd-ai-fm-close-btn:hover {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.1));
}

.fd-ai-fm-messages {
  flex: 1;
  overflow-y: auto;
  width: min(800px, 100%);
  padding: 24px 0 120px;
  mask-image: linear-gradient(
    to bottom,
    transparent,
    white 3rem,
    white calc(100% - 8rem),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent,
    white 3rem,
    white calc(100% - 8rem),
    transparent 100%
  );
}

.fd-ai-fm-messages-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.fd-ai-fm-msg {
  display: flex;
  flex-direction: column;
}

.fd-ai-fm-msg-label {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-fm-msg-label[data-role="assistant"] {
  color: var(--color-fd-primary, #6366f1);
}

.fd-ai-fm-msg-content {
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-fd-foreground, #e4e4e7);
  word-break: break-word;
  overflow-wrap: break-word;
}

.fd-ai-fm-msg-content code {
  background: var(--color-fd-muted, #1a1a2e);
  padding: 2px 6px;
  border-radius: var(--radius, 4px);
  font-size: 0.875em;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
}
.fd-ai-fm-msg-content .fd-ai-code-block pre {
  padding-bottom: 2px;
}

.fd-ai-fm-msg-content .fd-ai-code-block code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}

.fd-ai-fm-msg-content a {
  color: var(--color-fd-primary, #6366f1);
  text-decoration: underline;
}

.fd-ai-fm-msg-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 13px;
}

.fd-ai-fm-msg-content th,
.fd-ai-fm-msg-content td {
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  padding: 6px 12px;
  text-align: left;
}

.fd-ai-fm-msg-content th {
  background: var(--color-fd-muted, #1a1a2e);
  font-weight: 600;
  font-size: 12px;
}

.fd-ai-fm-msg-content h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 16px 0 8px;
  line-height: 1.3;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-msg-content h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin: 12px 0 6px;
  line-height: 1.4;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-msg-content h4 {
  font-size: 1rem;
  font-weight: 600;
  margin: 10px 0 4px;
  line-height: 1.4;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-msg-content h5 {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 10px 0 4px;
  line-height: 1.4;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-msg-content ul,
.fd-ai-fm-msg-content ol {
  margin: 8px 0 10px;
  padding-left: 1.35rem;
}

.fd-ai-fm-msg-content li {
  margin: 4px 0;
  padding-left: 2px;
}

.fd-ai-fm-msg-content li::marker {
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-fm-msg-content .fd-ai-hr {
  border: 0;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  margin: 16px 0;
}

.fd-ai-fm-msg-content strong {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-msg-content em {
  font-style: italic;
}

.fd-ai-fm-msg-content p {
  margin: 0 0 8px;
}

.fd-ai-fm-msg-content br {
  content: "";
  display: block;
  margin-top: 2px;
}

.fd-ai-fm-msg-content pre {
  margin: 8px 0;
  border-radius: 0;
  border: none;
  background: transparent;
  padding: 0;
}

.fd-ai-fm-msg-content > div > div[style*="height:8px"] {
  height: 6px;
}

.fd-ai-fm-input-bar {
  position: fixed;
  z-index: 9999;
  transition:
    width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
    height 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 200ms ease-out;
}

.fd-ai-fm-input-bar--closed {

}

.fd-ai-fm-input-bar--open {
  bottom: 16px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: min(800px, calc(100vw - 32px));
}

.fd-ai-fm-input-container {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius, 12px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-background, #0c0c0c);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--color-fd-background, #000) 70%, transparent);
  overflow: visible;
}

.fd-ai-fm-input-wrap {
  display: flex;
  align-items: flex-start;
  padding-right: 8px;
}

.fd-ai-fm-input {
  flex: 1;
  padding: 16px;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--color-fd-foreground, #e4e4e7);
  font-size: 14px;
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
  line-height: 1.5;
  min-height: 0;
  max-height: 120px;
}

.fd-ai-fm-input::placeholder {
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-fm-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  border: none;
  cursor: default;
  transition: all 150ms;
  background: var(--color-fd-secondary, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-fm-send-btn[data-active="true"] {
  cursor: pointer;
  background: var(--color-fd-primary, #6366f1);
  color: var(--color-fd-primary-foreground, #fff);
}

.fd-ai-fm-suggestions-area {
  padding: 12px 16px 4px;
}

.fd-ai-fm-suggestions-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-fd-muted-foreground, #71717a);
  margin-bottom: 8px;
}

.fd-ai-fm-suggestions {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 1rem,
    black calc(100% - 1rem),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 1rem,
    black calc(100% - 1rem),
    transparent 100%
  );
}

.fd-ai-fm-suggestions-two-rows {
  flex-wrap: wrap;
  overflow-x: visible;
  mask-image: none;
  -webkit-mask-image: none;
}

.fd-ai-fm-suggestion {
  flex-shrink: 0;
  white-space: nowrap;
  padding: 6px 14px;
  font-size: 12px;
  font-family: inherit;
  border-radius: 9999px;
  border: 1px solid
    color-mix(in srgb, var(--color-fd-border, rgba(255, 255, 255, 0.1)) 50%, transparent);
  background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 30%, transparent);
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  transition: all 200ms;
}

.fd-ai-fm-suggestion:hover {
  background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 50%, transparent);
  color: var(--color-fd-foreground, #e4e4e7);
  border-color: var(--color-fd-border, rgba(255, 255, 255, 0.1));
}

.fd-ai-fm-footer-bar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
  background: color-mix(
    in srgb,
    var(--color-fd-accent, rgba(255, 255, 255, 0.03)) 40%,
    transparent
  );
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
}

.fd-ai-fm-clear-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
  transition: color 200ms;
  padding: 0;
}

.fd-ai-fm-clear-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
}

.fd-ai-fm-clear-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

.fd-ai-fm-footer-hint {
  flex: 1;
}

.fd-ai-modal-pure {
  display: flex;
  flex-direction: column;
}

.fd-ai-modal-footer {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
  background: color-mix(
    in srgb,
    var(--color-fd-accent, rgba(255, 255, 255, 0.03)) 40%,
    transparent
  );
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
  border-radius: 0 0 var(--radius, 12px) var(--radius, 12px);
  flex-shrink: 0;
}

.fd-ai-modal-footer-hint {
  flex: 1;
}

.fd-ai-fm-trigger-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
  backdrop-filter: blur(4px);
  color: var(--color-fd-muted-foreground, #71717a);
  font-family: inherit;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
  transition:
    transform 150ms,
    background 150ms,
    color 150ms;
  animation: fd-ai-fade-in 300ms ease-out;
  white-space: nowrap;
}

.fd-ai-fm-trigger-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  transform: scale(1.03);
}

.fd-ai-fm-trigger-btn:active {
  transform: scale(0.97);
}

@keyframes omni-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes omni-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes omni-scale-in {
  from {
    opacity: 0;
    transform: translateX(-50%) scale(0.98) translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) scale(1) translateY(0);
  }
}
@keyframes omni-scale-out {
  from {
    opacity: 1;
    transform: translateX(-50%) scale(1) translateY(0);
  }
  to {
    opacity: 0;
    transform: translateX(-50%) scale(0.98) translateY(-6px);
  }
}

@keyframes omni-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.omni-spin {
  animation: omni-spin 1s linear infinite;
}

.omni-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  animation: omni-fade-in 150ms ease-out;
}

.omni-content {
  --omni-content-top: clamp(5rem, 16vh, 7rem);
  position: fixed;
  z-index: 51;
  top: var(--omni-content-top);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  width: min(720px, calc(100% - 1rem));
  border-radius: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border, #d4d4d4) 70%, transparent);
  background: var(--color-fd-popover, #fafafa);
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
  font-family: var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text",
      ui-sans-serif, sans-serif);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  outline: none;
  overscroll-behavior: contain;
  animation: omni-scale-in 200ms cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 639px) {
  .omni-content {
    --omni-content-top: 1rem;
    top: var(--omni-content-top);
    width: calc(100% - 1rem);
    max-height: calc(100vh - 2rem);
  }
}

.omni-header {
  border-bottom: 1px solid var(--color-fd-border, #262626);
}
.omni-search-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
}
.omni-search-icon {
  color: var(--color-fd-muted-foreground, #a3a3a3);
  flex-shrink: 0;
}
.omni-search-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.omni-search-input {
  width: 0;
  flex: 1;
  background: transparent;
  outline: none;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
  border: none;
}
.omni-search-input::placeholder {
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
.omni-kbd {
  border-radius: 0.375rem;
  border: 1px solid var(--color-fd-border, #d4d4d4);
  background: transparent;
  padding: 0.375rem 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
      "Liberation Mono", "Courier New", monospace);
  line-height: 1rem;
}
.omni-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 2.5rem;
  border-radius: 0.375rem;
  border: 1px solid var(--color-fd-border, #d4d4d4);
  padding: 0.375rem 0.5rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
      "Liberation Mono", "Courier New", monospace);
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  transition:
    background 120ms,
    color 120ms;
  cursor: pointer;
  background: none;
}
.omni-close-btn:hover {
  color: var(--color-fd-accent-foreground, var(--color-fd-foreground, #171717));
  background: var(--color-fd-accent, #e5e5e5);
}
.omni-close-btn svg {
  display: none;
}

.omni-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(540px, calc(100vh - var(--omni-content-top, 7rem) - 8rem));
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0.5rem;
}
.omni-body::-webkit-scrollbar {
  width: 6px;
}
.omni-body::-webkit-scrollbar-track {
  background: transparent;
}
.omni-body::-webkit-scrollbar-thumb {
  background: var(--color-fd-muted, #262626);
  border-radius: 3px;
}

.omni-loading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.625rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
  font-size: 0.875rem;
}

.omni-group {
  padding: 0;
}
.omni-group-label {
  display: none;
}
.omni-group-items {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.omni-item {
  position: relative;
  display: block;
  width: 100%;
  flex-shrink: 0;
  border-radius: 0.5rem;
  padding: 0.75rem 0.875rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25rem;
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--color-fd-foreground, #fafafa);
  transition: background 80ms;
}
.omni-item:hover,
.omni-item-active {
  background: var(--color-fd-accent, rgba(209, 209, 209, 0.5));
}
.omni-item-active {
  color: var(--color-fd-accent-foreground, #171717);
}
.omni-item-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.omni-item-icon {
  display: none;
}
.omni-item-active .omni-item-icon {
  color: var(--color-fd-accent-foreground, #fafafa);
}
.omni-item-text {
  min-width: 0;
}
.omni-item-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
  font-weight: 500;
  line-height: 1.35;
}
.omni-item-subtitle {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
  opacity: 1;
}
.omni-item-active .omni-item-subtitle {
  color: var(--color-fd-muted-foreground, #737373);
  opacity: 1;
}
.omni-item-description {
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 0.625rem;
  padding-left: 0.75rem;
  border-left: 1px solid color-mix(in srgb, var(--color-fd-border, #d4d4d4) 70%, transparent);
  color: color-mix(in srgb, var(--color-fd-popover-foreground, #272727) 82%, transparent);
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
}
.omni-item-badge {
  display: none;
}
.omni-item-ext {
  display: none;
}
.omni-item-ext:hover {
  color: var(--color-fd-foreground, #fafafa);
  background: var(--color-fd-muted, #262626);
}
.omni-item-shortcuts {
  display: none;
  align-items: center;
  gap: 0.25rem;
  font-size: 10px;
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
@media (min-width: 640px) {
  .omni-item-shortcuts {
    display: flex;
  }
}
.omni-kbd-sm {
  border-radius: 0.25rem;
  background: var(--color-fd-muted, #262626);
  padding: 0.125rem 0.25rem;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
      "Liberation Mono", "Courier New", monospace);
}
.omni-item-chevron {
  display: none;
}

.omni-highlight {
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--color-fd-primary, #ca8a04);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.omni-empty-group {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
.omni-empty {
  padding: 1.5rem 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
.omni-empty-icon {
  width: 2rem;
  height: 2rem;
  margin: 0 auto 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: var(--color-fd-muted, #262626);
}

.omni-footer {
  border-top: 1px solid var(--color-fd-border, #262626);
  background: color-mix(in srgb, var(--color-fd-secondary, #f5f5f5) 50%, transparent);
}
.omni-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  font-size: 0.75rem;
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
.omni-footer-hints {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.omni-footer-hint {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}
.omni-footer-hint svg {
  box-sizing: border-box;
  width: 1.375rem;
  height: 1.375rem;
  padding: 0.25rem;
  border-radius: 0.375rem;
  border: 1px solid var(--color-fd-border, #d4d4d4);
  background: color-mix(in srgb, var(--color-fd-muted, #e5e5e5) 70%, transparent);
  color: var(--color-fd-muted-foreground, #737373);
  flex-shrink: 0;
}
.omni-footer-hint-desktop {
  display: none;
}
.omni-footer-filter {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  white-space: nowrap;
}
@media (min-width: 640px) {
  .omni-footer-hint-desktop {
    display: flex;
  }
}
.omni-filter-label {
  color: var(--color-fd-muted-foreground, #a3a3a3);
}
.omni-filter-value {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
}
.omni-filter-button {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 0;
  background: transparent;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
  font: inherit;
  cursor: pointer;
  padding: 0;
}
.omni-filter-button:hover {
  color: var(--color-fd-accent-foreground, var(--color-fd-foreground, #171717));
}
.omni-filter-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.5rem);
  z-index: 1;
  width: 10rem;
  border: 1px solid var(--color-fd-border, #d4d4d4);
  border-radius: 0.5rem;
  background: var(--color-fd-popover, #fafafa);
  padding: 0.25rem;
  box-shadow: 0 16px 32px -20px rgba(0, 0, 0, 0.45);
}
.omni-filter-option {
  display: flex;
  width: 100%;
  align-items: center;
  border: 0;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground, #272727));
  cursor: pointer;
  font: inherit;
  padding: 0.5rem 0.625rem;
  text-align: left;
}
.omni-filter-option:hover,
.omni-filter-option-active {
  background: var(--color-fd-accent, rgba(209, 209, 209, 0.5));
}

body {
  font-family: var(--fd-font-sans, var(--font-geist-sans, ui-sans-serif, system-ui, sans-serif));
}

:where(.fd-sidebar, aside#nd-sidebar, aside#nd-sidebar-mobile)
  button[aria-controls][aria-expanded] {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
}

code,
kbd,
pre,
samp {
  font-family: var(
    --fd-font-mono,
    var(
      --font-geist-mono,
      ui-monospace,
      "Cascadia Code",
      "Source Code Pro",
      Menlo,
      Consolas,
      monospace
    )
  );
}

.prose h1,
article h1 {
  font-size: var(--fd-h1-size, 2.25rem);
  font-weight: var(--fd-h1-weight, 700);
  line-height: var(--fd-h1-line-height, 1.2);
  letter-spacing: var(--fd-h1-letter-spacing, -0.02em);
}

.prose h2,
article h2 {
  font-size: var(--fd-h2-size, 1.5rem);
  font-weight: var(--fd-h2-weight, 600);
  line-height: var(--fd-h2-line-height, 1.3);
  letter-spacing: var(--fd-h2-letter-spacing, -0.01em);
}

.prose h3,
article h3 {
  font-size: var(--fd-h3-size, 1.25rem);
  font-weight: var(--fd-h3-weight, 600);
  line-height: var(--fd-h3-line-height, 1.4);
  letter-spacing: var(--fd-h3-letter-spacing, normal);
}

.prose h4,
article h4 {
  font-size: var(--fd-h4-size, 1.125rem);
  font-weight: var(--fd-h4-weight, 600);
  line-height: var(--fd-h4-line-height, 1.4);
  letter-spacing: var(--fd-h4-letter-spacing, normal);
}

.prose p,
.prose li,
.prose td,
article p {
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
}

.prose small,
article small,
.text-sm {
  font-size: var(--fd-small-size, 0.875rem);
  font-weight: var(--fd-small-weight, 400);
  line-height: var(--fd-small-line-height, 1.5);
}

[style*="--callout-color"] {
  align-items: start;
}

[style*="--callout-color"] > [role="none"] {
  align-self: stretch;
}

[style*="--callout-color"] > svg {
  flex-shrink: 0;
  margin-top: 0;
}

figure.shiki pre {
  padding: 0.15rem 0.5rem;
  white-space: pre;
}

figure.shiki pre > code {
  display: block;
  white-space: inherit;
}

figure.shiki pre > code:has(> .line),
figure.shiki pre > code:has(> [data-line]) {
  display: grid;
}

figure.shiki pre > code > .line,
figure.shiki pre > code > [data-line] {
  white-space: inherit;
}

figure.shiki [data-fd-code-space] {
  display: inline-block;
  white-space: pre;
}

figure.shiki [data-fd-code-space="gap"] {
  width: var(--fd-code-token-gap, 1.75ch);
}

figure.shiki [data-fd-code-space="indent"] {
  width: calc(var(--fd-code-space-count, 1) * 1ch);
}

figure.shiki pre > code > [data-line] {
  padding: 0 0.25rem;
}

.fd-code-group-panel[data-state="inactive"] {
  display: none;
}

.fd-code-group-panel[data-state="active"] {
  display: block;
}

figure.shiki:has(figcaption) > div:first-child {
  position: relative;
}

figure.shiki:has(figcaption) > div:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -45deg,
    currentColor,
    currentColor 1px,
    transparent 1px,
    transparent 6px
  );
  opacity: 0.03;
  pointer-events: none;
}

.dark figure.shiki:has(figcaption) > div:first-child::before {
  opacity: 0.05;
}

figure.shiki:has(figcaption) figcaption {
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    SFMono-Regular,
    "SF Mono",
    Menlo,
    Consolas,
    monospace
  );
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}

.fd-page-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

.fd-page-meta-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    SFMono-Regular,
    "SF Mono",
    Menlo,
    Consolas,
    monospace
  );
  font-size: 0.8rem;
  line-height: 1;
  color: color-mix(in srgb, var(--color-fd-muted-foreground) 78%, transparent);
}

.fd-page-meta-item {
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    SFMono-Regular,
    "SF Mono",
    Menlo,
    Consolas,
    monospace
  );
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

.fd-page-description {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--color-fd-muted-foreground);
}

.fd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: 0.8rem;
  color: var(--color-fd-muted-foreground);
  margin-bottom: 0.5rem;
}

.fd-breadcrumb-item {
  display: inline-flex;
  align-items: center;
}

.fd-breadcrumb-sep {
  margin: 0 0.375rem;
  opacity: 0.4;
  font-size: 0.75rem;
}

.fd-breadcrumb-parent {
  opacity: 0.6;
  font-weight: 400;
}

.fd-breadcrumb-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    opacity 0.15s,
    color 0.15s;
}

.fd-breadcrumb-link:hover {
  opacity: 1;
  color: var(--color-fd-foreground);
}

.fd-breadcrumb-current {
  font-weight: 500;
  color: var(--color-fd-foreground);
}

.fd-below-title-block {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.fd-last-updated-inline {
  color: var(--color-fd-muted-foreground);
  font-size: 0.75rem;
  font-weight: 400;
  margin: 0 0 0.75rem;
  line-height: 1.5;
}

.fd-title-separator {
  border: none;
  border-top: 1px solid var(--color-fd-border);
  margin: 0 0 0.75rem;
}

.fd-actions-portal [data-page-actions] {
  margin-top: 0;
  margin-bottom: 0;
}

.fd-page-actions,
[data-page-actions] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  margin-top: 0.25rem;
  width: 100%;
}

[data-page-actions][data-actions-alignment="right"],
.fd-page-actions[data-actions-alignment="right"],
[data-actions-alignment="right"] > [data-page-actions] {
  justify-content: flex-end;
}

[data-page-actions][data-actions-alignment="left"],
.fd-page-actions[data-actions-alignment="left"],
[data-actions-alignment="left"] > [data-page-actions] {
  justify-content: flex-start;
}

.fd-page-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  height: 2rem;
  color: var(--color-fd-muted-foreground);
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 0.375rem;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.15s,
    background 0.15s,
    border-color 0.15s;
  user-select: none;
}
.fd-ai-fm-msg-content .fd-ai-code-block pre {
  padding:10px !important;
}
.fd-page-action-btn:hover {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

.fd-page-action-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.fd-page-action-btn[data-copied="true"] {
  color: var(--color-fd-foreground);
}

.fd-page-action-btn[data-selected="true"] {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

.fd-page-action-btn svg {
  flex-shrink: 0;
  color: var(--color-fd-muted-foreground);
}

.fd-page-action-btn[data-selected="true"] svg {
  color: currentColor;
}

.fd-page-action-dropdown {
  position: relative;
}

.fd-page-action-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  z-index: 50;
  min-width: 220px;
  padding: 0.375rem;
  background: var(--color-fd-popover);
  border: 1px solid var(--color-fd-border);
  border-radius: 0.5rem;
  box-shadow: 0 4px 24px hsl(0 0% 0% / 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  animation: fd-page-actions-fade-in 0.12s ease-out;
}

@keyframes fd-page-actions-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fd-page-action-menu-item,
.fd-prompt-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--color-fd-popover-foreground);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  text-align: left;
  transition:
    background 0.1s,
    color 0.1s;
}

.fd-page-action-menu-item {
  padding: 0.2rem 0.625rem;
}

.fd-page-action-menu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.fd-page-action-menu-icon svg {
  width: 1rem;
  height: 1rem;
}

.fd-page-action-menu-label {
  flex: 1;
}

.fd-prompt {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin: 1.25rem 0;
  padding: 1rem;
  border: 1px solid var(--color-fd-border);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--color-fd-card) 78%, transparent);
}

.fd-prompt-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.fd-prompt-icon,
.fd-prompt-action-icon,
.fd-prompt-menu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.fd-prompt-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 80%, transparent);
  background: color-mix(in srgb, var(--color-fd-background) 55%, transparent);
  color: var(--color-fd-foreground);
}

.fd-prompt-icon svg,
.fd-prompt-action-icon svg,
.fd-prompt-menu-icon svg {
  width: 1rem;
  height: 1rem;
}

.fd-prompt-copy {
  min-width: 0;
}

.fd-prompt-title {
  margin: 0;
  color: var(--color-fd-foreground);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

.fd-prompt-description {
  margin: -0.05rem 0 0;
  color: var(--color-fd-muted-foreground);
  font-size: 0.875rem;
  line-height: 1.55;
}

.fd-prompt-body {
  margin: 0;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 82%, transparent);
  background: color-mix(in srgb, var(--color-fd-background) 45%, transparent);
  overflow-x: auto;
}

.fd-prompt-body > pre.fd-prompt-code {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-fd-foreground);
  font-size: 0.875rem;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    "SF Mono",
    SFMono-Regular,
    Menlo,
    Consolas,
    monospace
  );
}

.fd-prompt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-end;
}

.fd-prompt-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--color-fd-border);
  border-radius: 0.375rem;
  background: var(--color-fd-secondary);
  color: var(--color-fd-muted-foreground);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition:
    color 0.15s,
    background 0.15s,
    border-color 0.15s;
}

.fd-prompt-action-btn:hover {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

.fd-prompt-action-btn[data-copied="true"] {
  color: var(--color-fd-foreground);
}

.fd-prompt-action-icon-copied[hidden] {
  display: none;
}

.fd-prompt-dropdown {
  position: relative;
}

.fd-prompt-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  z-index: 50;
  min-width: 220px;
  padding: 0.375rem;
  background: var(--color-fd-popover);
  border: 1px solid var(--color-fd-border);
  border-radius: 0.5rem;
  box-shadow: 0 4px 24px hsl(0 0% 0% / 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  animation: fd-page-actions-fade-in 0.12s ease-out;
}

.fd-prompt-menu-item {
  padding: 0.25rem 0.625rem;
}

.fd-page-action-menu-item:hover,
.fd-prompt-menu-item:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

.fd-prompt-menu-label {
  flex: 1;
}

.fd-feedback {
  margin-top: 2rem;
  margin-bottom: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
}

.fd-feedback-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.fd-feedback-question {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-fd-foreground);
}

.fd-feedback-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.fd-feedback-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.875rem;
}

.fd-feedback-choice[data-selected="true"] {
  background: var(--color-fd-accent, hsl(0 0% 96%));
  color: var(--color-fd-foreground);
  border-color: color-mix(in srgb, var(--color-fd-primary, currentColor) 65%, transparent);
}

.fd-feedback-input {
  width: 100%;
  min-height: 4.75rem;
  resize: vertical;
  padding: 0.875rem 1rem;
  border: 1px solid
    color-mix(in srgb, var(--color-fd-border, hsl(0 0% 80% / 50%)) 78%, var(--color-fd-foreground) 22%);
  background: var(--color-fd-card, transparent);
  color: var(--color-fd-foreground);
  font: inherit;
  line-height: 1.55;
  outline: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease,
    background-color 150ms ease;
}

.fd-feedback-input::placeholder {
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
}

.fd-feedback-input:focus {
  border-color: var(--color-fd-ring, var(--color-fd-primary, currentColor));
  box-shadow: 0 0 0 1px var(--color-fd-ring, var(--color-fd-primary, currentColor));
}

.fd-feedback-submit-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
  min-height: 2rem;
}

.fd-feedback-submit {
  min-width: 7rem;
  padding-inline: 0.875rem;
  justify-content: center;
}

.fd-feedback-submit:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.fd-feedback-spinner {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 9999px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: fd-feedback-spin 0.8s linear infinite;
}

.fd-feedback-status {
  margin: 0 !important;
  font-size: 0.75rem;
  line-height: 1.3;
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
}

.fd-feedback-status[data-status="success"] {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
}

.fd-feedback-status[data-status="error"] {
  color: var(--color-fd-foreground);
}

html[data-fd-route-kind="changelog"] .fd-ai-fm-input-bar {
  display: none !important;
}

.fd-changelog-mobile-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.fd-changelog-mobile-content {
  margin-top: 1.25rem;
}

.fd-changelog-frame {
  width: 100%;
  padding-inline: 1.5rem;
}

.fd-changelog-header-strip {
  margin-inline: -1.5rem;
}

.fd-changelog-search-row {
  display: flex;
  justify-content: flex-start;
}

.fd-changelog-search {
  position: relative;
  display: flex;
  align-items: center;
  width: min(100%, 22rem);
}

.fd-changelog-search-icon {
  pointer-events: none;
  position: absolute;
  left: 0.5rem;
  top: 50%;
  z-index: 1;
  display: inline-flex;
  width: 1.9rem;
  height: 1.9rem;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 78%, transparent);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--color-fd-muted) 58%, transparent);
  color: var(--color-fd-muted-foreground);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.28);
}

.fd-changelog-search-icon svg {
  width: 1rem;
  height: 1rem;
}

.fd-changelog-search-input {
  width: 100%;
  min-height: 2.75rem;
  padding: 0 0.9rem 0 3rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 82%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--color-fd-card) 86%, transparent);
  color: var(--color-fd-foreground);
  font-size: 0.9rem;
  line-height: 1.4;
  outline: none;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease;
}

.fd-changelog-search-input::placeholder {
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-search-input:focus-visible {
  border-color: color-mix(in srgb, var(--color-fd-primary) 34%, var(--color-fd-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-fd-primary) 14%, transparent);
}

.dark .fd-changelog-search-icon {
  background: rgb(255 255 255 / 0.06);
  box-shadow: none;
}

.dark .fd-changelog-search-input {
  background: rgb(255 255 255 / 0.04);
}

.fd-changelog-shell {
  display: block;
  width: 100%;
}

.fd-changelog-main {
  min-width: 0;
  width: 100%;
}

.fd-changelog-toc {
  margin-top: 2.5rem;
}

.fd-changelog-toc-card {
  position: relative;
  border-left: 1px solid color-mix(in srgb, var(--color-fd-border) 70%, transparent);
  padding-left: 1rem;
}

.fd-changelog-toc-heading {
  margin: 0 0 0.75rem;
  font-family: var(--font-geist-mono);
  font-size: 0.7rem !important;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-toc-list {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.fd-changelog-toc-link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  margin-left: -1rem;
  border-left: 2px solid transparent;
  border-radius: 0 0.85rem 0.85rem 0;
  padding: 0.45rem 0.65rem 0.45rem calc(1rem - 1px);
  color: var(--color-fd-muted-foreground);
  text-decoration: none;
  transition:
    color 0.16s ease,
    border-color 0.16s ease,
    background-color 0.16s ease;
}

.fd-changelog-toc-link:hover {
  color: var(--color-fd-foreground);
  text-decoration: none;
}

.fd-changelog-toc-meta {
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-toc-title {
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.45;
  color: inherit;
}

.fd-changelog-directory-line {
  display: none;
}

.fd-changelog-desktop-grid {
  display: none;
}

.fd-changelog-rail {
  position: relative;
  display: flex;
  width: 2rem;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  padding-top: 0.35rem;
}

.fd-changelog-timeline-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 1px;
  background: color-mix(in srgb, var(--color-fd-foreground) 24%, var(--color-fd-border));
  pointer-events: none;
}

.fd-changelog-timeline-dot {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-fd-primary);
  box-shadow:
    0 0 0 2px var(--color-fd-background, var(--color-fd-card, #0a0a0a)),
    0 0 0 1px color-mix(in srgb, var(--color-fd-foreground) 12%, transparent);
  pointer-events: none;
}

.fd-changelog-rail-end-mask {
  position: absolute;
  top: 1rem;
  bottom: 0;
  left: 50%;
  z-index: 1;
  width: 0.5rem;
  transform: translateX(-50%);
  background: var(--color-fd-background, var(--color-fd-card, #fff));
  pointer-events: none;
}

.fd-changelog-tag {
  display: inline-flex;
  height: 1.5rem;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-fd-muted-foreground);
  background-color: color-mix(in srgb, var(--color-fd-muted) 85%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 65%, transparent);
  border-radius: 20px;
  text-transform: none;
  letter-spacing: normal;
}

.fd-changelog-date {
  display: block;
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.14em;
  padding-bottom: 0.8rem;
  margin-top: 5px;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-version-box {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-self: flex-start;
  min-height: 2.25rem;
  min-width: 2.25rem;
  max-width: max-content;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  border-radius: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 70%, transparent);
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  text-transform: none;
  color: var(--color-fd-foreground);
  background-color: color-mix(in srgb, var(--color-fd-muted) 40%, transparent);
}

.fd-changelog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.fd-changelog-actions :is(a, button),
.fd-changelog-action-link {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 75%, transparent);
  border-radius: 0.875rem !important;
  background: color-mix(in srgb, var(--color-fd-card) 82%, transparent);
  color: var(--color-fd-foreground);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none !important;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.24);
}

.fd-changelog-actions :is(a, button):hover,
.fd-changelog-action-link:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  text-decoration: none !important;
}

.fd-changelog-actions :is(a, button) svg,
.fd-changelog-action-link svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.dark .fd-changelog-actions :is(a, button),
.dark .fd-changelog-action-link {
  background: rgb(255 255 255 / 0.06);
  box-shadow: none;
}

.dark .fd-changelog-actions :is(a, button):hover,
.dark .fd-changelog-action-link:hover {
  background: rgb(255 255 255 / 0.1);
}

.fd-changelog-entry + .fd-changelog-entry {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

@media (min-width: 768px) {
  .fd-changelog-mobile-summary,
  .fd-changelog-mobile-content {
    display: none;
  }

  .fd-changelog-directory-line {
    position: absolute;
    top: calc(0.35rem + 0.25rem + 0.375rem);
    bottom: 1rem;
    left: calc(5.75rem + 1rem + 1rem);
    display: block;
    width: 2px;
    transform: translateX(-50%);
    border-radius: 9999px;
    background: color-mix(in srgb, var(--color-fd-foreground) 24%, var(--color-fd-border));
    pointer-events: none;
  }

  .fd-changelog-desktop-grid {
    display: grid;
    grid-template-columns: 5.75rem 2rem minmax(0, 1fr);
    column-gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .fd-changelog-frame {
    padding-left: 0;
    padding-right: 2.5rem;
  }

  .fd-changelog-header-strip {
    margin-left: 0;
    margin-right: -2.5rem;
  }

  .fd-changelog-shell-shifted {
    margin-left: -2rem;
  }
}

@media (min-width: 1280px) {
  .fd-changelog-shell {
    display: block;
  }

  .fd-changelog-main {
    width: min(64rem, 100%);
    max-width: 64rem;
  }

  .fd-changelog-toc {
    position: fixed;
    z-index: 10;
    top: calc(var(--fd-nav-height, 56px) + 3rem);
    right: 0;
    width: var(--fd-toc-width, 14rem);
    margin-top: 0;
  }
}

.fd-changelog-prose {
  color: var(--color-fd-muted-foreground);
  font-family: var(--fd-font-sans, inherit);
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
  --tw-prose-body: var(--color-fd-muted-foreground);
  --tw-prose-headings: var(--color-fd-foreground);
  --tw-prose-links: var(--color-fd-primary);
  --tw-prose-bold: var(--color-fd-foreground);
  --tw-prose-counters: var(--color-fd-muted-foreground);
  --tw-prose-bullets: color-mix(in srgb, var(--color-fd-primary) 35%, transparent);
  --tw-prose-hr: color-mix(in srgb, var(--color-fd-primary) 14%, transparent);
  --tw-prose-quotes: var(--color-fd-foreground);
  --tw-prose-quote-borders: color-mix(in srgb, var(--color-fd-primary) 22%, transparent);
  --tw-prose-code: var(--color-fd-foreground);
  --tw-prose-pre-code: var(--color-fd-foreground);
  --tw-prose-pre-bg: color-mix(in srgb, var(--color-fd-muted) 70%, transparent);
}

.fd-changelog-prose > :first-child {
  margin-top: 0;
}

.fd-changelog-prose > :last-child {
  margin-bottom: 0;
}

.fd-changelog-prose h1,
.fd-changelog-prose h2,
.fd-changelog-prose h3,
.fd-changelog-prose h4 {
  color: var(--color-fd-foreground) !important;
  margin-bottom: 0.75rem;
  scroll-margin-top: 2rem;
  text-wrap: balance;
}

.fd-changelog-prose h1 {
  margin-top: 2.5rem;
  font-size: var(--fd-h1-size, 2rem);
  font-weight: var(--fd-h1-weight, 600);
  line-height: var(--fd-h1-line-height, 1.2);
  letter-spacing: var(--fd-h1-letter-spacing, -0.02em);
}

.fd-changelog-prose h2 {

  margin-top: 1.75rem;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
  color: var(--color-fd-foreground) !important;
}

#nd-docs-layout article#nd-page .fd-changelog-prose:is(.prose) h1,
#nd-docs-layout article#nd-page .fd-changelog-prose:is(.prose) h2,
#nd-docs-layout article#nd-page .fd-changelog-prose:is(.prose) h3 {
  color: var(--color-fd-foreground) !important;
}

.fd-changelog-prose h3 {
  margin-top: 1.55rem;
  font-size: var(--fd-h3-size, 1.25rem);
  font-weight: var(--fd-h3-weight, 600);
  line-height: var(--fd-h3-line-height, 1.4);
  letter-spacing: var(--fd-h3-letter-spacing, normal);
}

.fd-changelog-prose h4 {
  margin-top: 1.25rem;
  font-size: var(--fd-h4-size, 1.125rem);
  font-weight: var(--fd-h4-weight, 600);
  line-height: var(--fd-h4-line-height, 1.4);
  letter-spacing: var(--fd-h4-letter-spacing, normal);
}

.fd-changelog-prose p,
.fd-changelog-prose ul,
.fd-changelog-prose ol,
.fd-changelog-prose blockquote,
.fd-changelog-prose pre,
.fd-changelog-prose table {
  margin-top: 1rem;
  margin-bottom: 0;
}

.fd-changelog-prose p {
  color: var(--color-fd-muted-foreground) !important;
  letter-spacing: normal;
  text-wrap: pretty;
}

.fd-changelog-prose a {
  color: var(--color-fd-primary);
  text-underline-offset: 0.2em;
  transition: color 180ms ease;
}

.fd-changelog-prose a:hover {
  color: color-mix(in srgb, var(--color-fd-primary) 82%, white 18%);
}

.fd-changelog-prose strong {
  color: var(--color-fd-foreground) !important;
}

.fd-changelog-prose ul,
.fd-changelog-prose ol {
  padding-left: 1.35rem;
}

.fd-changelog-prose ul {
  list-style: disc;
}

.fd-changelog-prose ol {
  list-style: decimal;
}

.fd-changelog-prose li {
  margin-top: 0.45rem;
  color: var(--color-fd-muted-foreground) !important;
}

.fd-changelog-prose li::marker {
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-prose blockquote {
  border-left: none;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--color-fd-muted) 55%, transparent);
  color: var(--color-fd-muted-foreground);
}

.fd-changelog-prose code {
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--color-fd-muted) 72%, transparent);
  padding: 0.15rem 0.4rem;
  font-size: 0.92em;
}

.fd-changelog-prose pre {
  overflow-x: auto;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--color-fd-muted) 68%, transparent);
  padding: 1rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.4);
}

.fd-changelog-prose pre code {
  background: transparent;
  padding: 0;
}

.fd-changelog-prose img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  margin-top: 10px;
  box-shadow: 0 24px 60px -32px rgb(15 23 42 / 0.35);
}

.fd-changelog-prose video {
  display: block;
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 24px 60px -32px rgb(15 23 42 / 0.35);
}

.fd-changelog-prose table {
  width: 100%;
  border-collapse: collapse;
}

.fd-changelog-prose th,
.fd-changelog-prose td {
  border: none;
  padding: 0.65rem 0.8rem;
  text-align: left;
  border-bottom: 1px solid color-mix(in srgb, var(--color-fd-border) 55%, transparent);
}

.fd-changelog-prose tr:last-child td {
  border-bottom: none;
}

.fd-changelog-prose th {
  background: transparent;
  color: var(--color-fd-foreground);
  font-weight: 600;
}

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

.fd-page-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
  font-size: 0.8125rem;
}

.fd-last-updated {
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
  font-size: 0.6875rem;
}

.fd-last-updated-footer {
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
  font-size: 0.75rem;
  margin-left: auto;
}

.fd-page-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
}

.fd-page-nav-card {
  display: flex;
  min-width: 0;
  min-height: 8.75rem;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.375rem;
  padding: 1rem;
  border: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
  border-radius: 0.5rem;
  color: var(--color-fd-foreground);
  text-decoration: none;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.fd-page-nav-card:hover {
  background: var(--color-fd-accent, hsl(0 0% 96%));
  border-color: var(--color-fd-border, hsl(0 0% 80% / 50%));
}

.fd-page-nav-next {
  align-items: flex-end;
  text-align: right;
}

.fd-page-nav-label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
}

.fd-page-nav-title {
  display: -webkit-box;
  overflow: hidden;
  min-height: calc(1.4em * 2);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-fd-foreground);
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fd-page-nav-description {
  display: -webkit-box;
  overflow: hidden;
  min-height: calc(1.5em * 2);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
  overflow-wrap: anywhere;
}

.fd-page-nav-description-empty {
  visibility: hidden;
}

@media (max-width: 640px) {
  .fd-feedback-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .fd-feedback-submit-row {
    flex-wrap: wrap;
  }

  .fd-last-updated-footer {
    margin-left: 0;
    width: 100%;
  }

  .fd-page-nav {
    grid-template-columns: 1fr;
  }

  .fd-page-nav-next {
    align-items: flex-start;
    text-align: left;
  }
}

.fd-llms-txt-links {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.fd-llms-txt-link {
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
  font-size: 0.75rem;
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace);
  text-decoration: none;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  border: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
  transition: color 150ms, border-color 150ms;
}

.fd-llms-txt-link:hover {
  color: var(--color-fd-foreground, hsl(0 0% 10%));
  border-color: var(--color-fd-foreground, hsl(0 0% 10%));
  text-decoration: none;
}

fd-ai-code-block pre {
  padding-left: -10px !important;
  padding-right: -10px !important;
  padding-bottom: 2px !important;
}

figure.shiki > button,
figure.shiki > div:first-child button {
  opacity: 0;
  transition: opacity 0.15s;
}

figure.shiki:hover > button,
figure.shiki:hover > div:first-child button {
  opacity: 1;
}

.fd-sidebar-ai-trigger-wrapper {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.fd-sidebar-search-flex {
  flex: 1;
  min-width: 0;
}

.fd-sidebar-ai-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  min-width: 38px;
  border-radius: 8px;
  border: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
  background: var(--color-fd-secondary, hsl(0 0% 96%));
  color: var(--color-fd-muted-foreground, hsl(0 0% 45%));
  cursor: pointer;
  transition:
    background-color 150ms,
    color 150ms,
    border-color 150ms;
}

.fd-sidebar-ai-btn:hover {
  background: var(--color-fd-accent, hsl(0 0% 90%));
  color: var(--color-fd-primary, hsl(220 100% 50%));
  border-color: var(--color-fd-primary, hsl(220 100% 50%));
}

.fd-sidebar-ai-btn svg {
  width: 16px;
  height: 16px;
}

.inset-s-0 {
  inset-inline-start: 0;
}

.inset-s-4 {
  inset-inline-start: calc(var(--spacing) * 4);
}

.inset-e-0 {
  inset-inline-end: 0;
}

.before\:inset-s-2\.5::before {
  inset-inline-start: calc(var(--spacing) * 2.5);
}

.data-\[active\=true\]\:before\:inset-s-2\.5[data-active="true"]::before {
  inset-inline-start: calc(var(--spacing) * 2.5);
}

#nd-docs-layout[data-fd-framework],
#nd-docs-layout[data-fd-framework] *,
#nd-docs-layout[data-fd-framework] *::before,
#nd-docs-layout[data-fd-framework] *::after {
  box-sizing: border-box;
  margin: 0;
}

:where(#nd-docs-layout[data-fd-framework]) {
  --fd-sidebar-width: 268px;
  --fd-toc-width: 268px;
  --fd-content-width: 768px;
  --fd-header-height: 48px;
  --fd-nav-height: 48px;
}

html:has(#nd-docs-layout[data-fd-framework]) {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

body:has(#nd-docs-layout[data-fd-framework]) {
  margin: 0;
  font-family: var(--fd-font-sans, ui-sans-serif, system-ui, -apple-system, sans-serif);
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
  background: var(--color-fd-background);
  color: var(--color-fd-foreground);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#nd-docs-layout[data-fd-framework] {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  font-family: var(--fd-font-sans, ui-sans-serif, system-ui, -apple-system, sans-serif);
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
  background: var(--color-fd-background);
  color: var(--color-fd-foreground);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#nd-docs-layout[data-fd-framework] code,
#nd-docs-layout[data-fd-framework] kbd,
#nd-docs-layout[data-fd-framework] pre,
#nd-docs-layout[data-fd-framework] samp {
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    "Cascadia Code",
    "Source Code Pro",
    Menlo,
    Consolas,
    monospace
  );
}

#nd-docs-layout[data-fd-framework]:not([data-fd-browser-adapter]) {
  display: grid;
  grid-template-columns: var(--fd-sidebar-width) 1fr;
  min-height: 100dvh;
}

#nd-docs-layout[data-fd-framework] .fd-header {
  display: none;
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--fd-header-height);
  padding: 0 16px;
  background: var(--color-fd-background);
  border-bottom: 1px solid var(--color-fd-border);
  align-items: center;
  gap: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-header-title {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-fd-foreground);
  text-decoration: none;
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-menu-btn,
#nd-docs-layout[data-fd-framework] .fd-search-trigger-mobile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--color-fd-muted-foreground);
  cursor: pointer;
  transition:
    background 0.15s,
    color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-menu-btn:hover,
#nd-docs-layout[data-fd-framework] .fd-search-trigger-mobile:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-foreground);
}

@media (max-width: 1023px) {
  #nd-docs-layout[data-fd-framework] .fd-header {
    display: flex;
  }

  #nd-docs-layout[data-fd-framework]:not([data-fd-browser-adapter]) {
    display: flex;
    flex-direction: column;
  }
}

@media (min-width: 1024px) {
  #nd-docs-layout[data-fd-framework]:not([data-fd-browser-adapter]) {
    grid-template-columns: var(--fd-sidebar-width) minmax(0, 1fr);
  }

  #nd-docs-layout[data-fd-framework] .fd-main {
    min-width: 0;
  }

  #nd-docs-layout[data-fd-framework] .fd-page-article,
  #nd-docs-layout[data-fd-framework] .fd-page-body,
  #nd-docs-layout[data-fd-framework] .fd-docs-content {
    max-width: none;
    margin-inline: 0;
  }
}

#nd-docs-layout[data-fd-framework] .fd-sidebar {
  position: sticky;
  top: 0;
  width: var(--fd-sidebar-width);
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  border-right: 1px solid var(--color-fd-border);
  background: var(--color-fd-background);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  z-index: 50;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 12px 0;
  gap: 4px;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-title {
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--color-fd-foreground);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-title:hover {
  text-decoration: none;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-collapse-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: 1px solid var(--color-fd-border);
  border-radius: 6px;
  color: var(--color-fd-muted-foreground);
  cursor: pointer;
  transition:
    background 0.15s,
    color 0.15s;
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-collapse-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search {
  padding: 8px 12px;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14px;
  color: var(--color-fd-muted-foreground);
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 8px;
  cursor: pointer;
  transition:
    border-color 0.15s,
    background 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search-btn:hover {
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search-btn svg {
  flex-shrink: 0;
  opacity: 0.7;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search-btn span {
  flex: 1;
  text-align: left;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-search-btn kbd {
  font-size: 11px;
  padding: 1px 6px;
  border: 1px solid var(--color-fd-border);
  border-radius: 4px;
  color: var(--color-fd-muted-foreground);
  font-family: inherit;
  background: var(--color-fd-background);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-nav {
  flex: 1;
  padding: 4px 12px;
  overflow-y: auto;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-fd-muted-foreground);
  text-decoration: none;
  border-radius: 8px;
  position: relative;
  transition:
    color 0.15s,
    background 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-link:hover {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
  text-decoration: none;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-link-active,
#nd-docs-layout[data-fd-framework] .fd-sidebar-link[data-active="true"] {
  color: var(--color-fd-foreground) !important;
  background: var(--color-fd-accent) !important;
  font-weight: 600;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-content .fd-sidebar-link-active::before {
  content: "";
  position: absolute;
  left: -9px;
  top: 25%;
  bottom: 25%;
  width: 2px;
  background: var(--color-fd-foreground);
  border-radius: 1px;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder {
  margin: 2px 0;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder summary {
  list-style: none;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder summary::-webkit-details-marker {
  display: none;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-fd-foreground);
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-trigger:hover {
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-trigger-link {
  gap: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-parent-link {
  min-width: 0;
  flex: 1;
  padding: 0;
  color: inherit;
  background: transparent !important;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-parent-link:hover {
  color: inherit;
  background: transparent !important;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-chevron {
  transition: transform 0.2s;
  flex-shrink: 0;
  opacity: 0.5;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder[open] > .fd-sidebar-folder-trigger .fd-sidebar-chevron,
#nd-docs-layout[data-fd-framework] .fd-sidebar-folder[open] > .fd-sidebar-folder-trigger-link .fd-sidebar-chevron {
  transform: rotate(180deg);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-content {
  position: relative;
  padding-left: 12px;
  margin-left: 10px;
  margin-top: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-content::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-banner {
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-footer-custom {
  padding: 12px 16px;
  border-top: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--color-fd-border);
  margin-top: auto;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 45;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
}

@media (max-width: 1023px) {
  #nd-docs-layout[data-fd-framework] .fd-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    z-index: 50;
  }

  #nd-docs-layout[data-fd-framework] .fd-sidebar-open {
    transform: translateX(0);
  }

  #nd-docs-layout[data-fd-framework] .fd-sidebar-open + .fd-sidebar-overlay {
    display: block;
  }
}

#nd-docs-layout[data-fd-framework] .fd-main {
  min-width: 0;
  padding: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page {
  display: grid;
  --fd-article-width: calc(var(--fd-content-width, 860px) + 96px);
  grid-template-columns: var(
    --fd-framework-page-columns,
    minmax(0, min(100%, var(--fd-article-width)))
  );
  justify-content: var(--fd-framework-page-justify, center);
  width: 100%;
}

#nd-docs-layout[data-fd-framework] .fd-page-article {
  min-width: 0;
  width: var(--fd-framework-article-width, auto);
  max-width: var(--fd-framework-article-max-width, 100%);
  padding: 24px 16px 48px;
  display: flex;
  flex-direction: column;
  min-height: calc(100dvh - var(--fd-nav-height, 56px));
  grid-column: var(--fd-framework-article-column, auto);
  justify-self: var(--fd-framework-article-justify, stretch);
}

@media (min-width: 768px) {
  #nd-docs-layout[data-fd-framework] .fd-page-article {
    padding: var(--fd-framework-article-padding, 32px 48px 64px);
  }
}

@media (min-width: 1280px) {
  #nd-docs-layout[data-fd-framework] .fd-page:has(.fd-toc) {
    grid-template-columns: var(
      --fd-framework-page-columns-with-toc,
      minmax(0, min(var(--fd-article-width), calc(100% - var(--fd-toc-width))))
        var(--fd-toc-width)
    );
  }

  #nd-docs-layout[data-fd-framework] .fd-toc {
    grid-column: var(--fd-framework-toc-column, auto);
  }
}

#nd-docs-layout[data-fd-framework] .fd-toc {
  width: var(--fd-toc-width);
  position: sticky;
  top: 0;
  height: 100dvh;
  overflow-y: auto;
  padding: 40px 24px;
}

#nd-docs-layout[data-fd-framework] .fd-toc-inner {
}

#nd-docs-layout[data-fd-framework] .fd-toc-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-fd-foreground);
  margin-bottom: 12px;
}

#nd-docs-layout[data-fd-framework] .fd-toc-title svg {
  opacity: 0.5;
}

#nd-docs-layout[data-fd-framework] .fd-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-toc-item {
  margin: 0;
}

#nd-docs-layout[data-fd-framework] .fd-toc-link {
  display: block;
  padding: 4px 12px;
  font-size: 13px;
  color: var(--color-fd-muted-foreground);
  text-decoration: none;
  border-left: 2px solid transparent;
  margin-left: -1px;
  transition:
    color 0.15s,
    border-color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-toc-link:hover {
  color: var(--color-fd-foreground);
  text-decoration: none;
}

#nd-docs-layout[data-fd-framework] .fd-toc-link-active {
  color: var(--color-fd-primary);
  border-left-color: var(--color-fd-primary);
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk {
  border-left: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk .fd-toc-link {
  display: block;
  border-left: none;
  margin-left: 0;
  color: var(--color-fd-muted-foreground);
  text-decoration: none;
  transition: color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk .fd-toc-link:hover {
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk .fd-toc-link[data-active="true"] {
  color: var(--color-fd-primary);
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk-mask {
  overflow: hidden;
}

#nd-docs-layout[data-fd-framework] .fd-toc-clerk-thumb {
  width: 100%;
}

@media (max-width: 1279px) {
  #nd-docs-layout[data-fd-framework] .fd-toc {
    display: none;
  }

  #nd-docs-layout[data-fd-framework] .fd-page {
    grid-template-columns: minmax(0, min(100%, var(--fd-article-width)));
  }

  #nd-docs-layout[data-fd-framework] .fd-page-article,
  #nd-docs-layout[data-fd-framework] .fd-toc {
    grid-column: auto;
  }
}

@media (max-width: 1023px) {
  #nd-docs-layout[data-fd-framework] .fd-toc {
    display: none;
  }

  #nd-docs-layout[data-fd-framework] .fd-page {
    grid-template-columns: minmax(0, min(100%, var(--fd-article-width)));
  }

  #nd-docs-layout[data-fd-framework] .fd-page-article,
  #nd-docs-layout[data-fd-framework] .fd-toc {
    grid-column: auto;
  }
}

#nd-docs-layout[data-fd-framework] .fd-page-title {
  font-size: var(--fd-h1-size, 2.25rem);
  font-weight: var(--fd-h1-weight, 700);
  line-height: var(--fd-h1-line-height, 1.2);
  letter-spacing: var(--fd-h1-letter-spacing, -0.025em);
  margin: 0 0 0.5rem;
  scroll-margin-top: 80px;
}

#nd-docs-layout[data-fd-framework] .fd-page-description {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: var(--fd-body-size, 1.125rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-actions-divider {
  border: none;
  border-top: 1px solid var(--color-fd-border);
  margin: 1rem 0 0.75rem;
}

#nd-docs-layout[data-fd-framework] .fd-page-actions,
#nd-docs-layout[data-fd-framework] [data-page-actions] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0;
  margin-bottom: 1rem;
  width: 100%;
}

#nd-docs-layout[data-fd-framework] .fd-page-actions[data-actions-alignment="right"],
#nd-docs-layout[data-fd-framework] [data-page-actions][data-actions-alignment="right"] {
  justify-content: flex-end;
}

#nd-docs-layout[data-fd-framework] .fd-page-actions[data-actions-alignment="left"],
#nd-docs-layout[data-fd-framework] [data-page-actions][data-actions-alignment="left"] {
  justify-content: flex-start;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  min-height: 2rem;
  color: var(--color-fd-muted-foreground);
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 0.375rem;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.15s,
    background 0.15s,
    border-color 0.15s;
  user-select: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn:hover {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn[data-copied="true"] {
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn[data-selected="true"] {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn svg {
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-btn[data-selected="true"] svg {
  color: currentColor;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-dropdown {
  position: relative;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  left: 0;
  z-index: 50;
  min-width: 220px;
  padding: 0.375rem;
  background: var(--color-fd-popover, var(--color-fd-background));
  border: 1px solid var(--color-fd-border);
  border-radius: 0.5rem;
  box-shadow: 0 4px 24px hsl(0 0% 0% / 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu[hidden] {
  display: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.35rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--color-fd-foreground);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu-item:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu-label {
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-page-actions a,
#nd-docs-layout[data-fd-framework] .fd-page-actions button,
#nd-docs-layout[data-fd-framework] .fd-page-action-menu-item,
#nd-docs-layout[data-fd-framework] .fd-page-action-btn {
  text-decoration: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-page-action-menu-item:hover {
  text-decoration: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-last-modified-below-title {
  margin-top: 0.25rem;
  margin-bottom: 1rem;
}

#nd-docs-layout[data-fd-framework] .fd-page-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

#nd-docs-layout[data-fd-framework] .fd-page-meta-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace);
  font-size: 0.8rem;
  line-height: 1;
  color: color-mix(in srgb, var(--color-fd-muted-foreground) 78%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-page-meta-item {
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-feedback {
  margin-top: 2rem;
  margin-bottom: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-feedback-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-question {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-feedback-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.875rem;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-form[hidden],
#nd-docs-layout[data-fd-framework] .fd-feedback-spinner[hidden],
#nd-docs-layout[data-fd-framework] .fd-feedback-status[hidden],
#nd-docs-layout[data-fd-framework] .fd-feedback-submit svg[hidden] {
  display: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-choice[data-selected="true"] {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  border-color: color-mix(in srgb, var(--color-fd-primary, currentColor) 65%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-feedback-input {
  width: 100%;
  min-height: 4.75rem;
  resize: vertical;
  padding: 0.875rem 1rem;
  border: 1px solid
    color-mix(in srgb, var(--color-fd-border) 78%, var(--color-fd-foreground) 22%);
  border-radius: 0.5rem;
  background: var(--color-fd-card, transparent);
  color: var(--color-fd-foreground);
  font: inherit;
  line-height: 1.55;
  outline: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease,
    background-color 150ms ease;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-input::placeholder {
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-feedback-input:focus {
  border-color: var(--color-fd-ring, var(--color-fd-primary, currentColor));
  box-shadow: 0 0 0 1px var(--color-fd-ring, var(--color-fd-primary, currentColor));
}

#nd-docs-layout[data-fd-framework] .fd-feedback-submit-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
  min-height: 2rem;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-submit {
  min-width: 7rem;
  padding-inline: 0.875rem;
  justify-content: center;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-submit:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-spinner {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 9999px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: fd-feedback-spin 0.8s linear infinite;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-status {
  margin: 0 !important;
  font-size: 0.75rem;
  line-height: 1.3;
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-feedback-status[data-status="success"] {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
}

#nd-docs-layout[data-fd-framework] .fd-feedback-status[data-status="success"] {
  color: color-mix(in srgb, var(--color-fd-primary) 85%, var(--color-fd-foreground));
}

#nd-docs-layout[data-fd-framework] .fd-feedback-status[data-status="error"] {
  color: var(--color-fd-foreground);
}

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

@media (max-width: 640px) {
  #nd-docs-layout[data-fd-framework] .fd-feedback-content {
    flex-direction: column;
    align-items: flex-start;
  }

  #nd-docs-layout[data-fd-framework] .fd-feedback-submit-row {
    flex-wrap: wrap;
  }
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: var(--fd-small-size, 0.8125rem);
  font-family: var(--fd-font-sans, inherit);
  color: var(--color-fd-muted-foreground);
  margin-bottom: 2rem;
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-item {
  display: inline-flex;
  align-items: center;
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-sep {
  margin: 0 6px;
  opacity: 0.4;
  font-size: var(--fd-small-size, 0.75rem);
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-parent {
  opacity: 0.7;
  font-weight: 400;
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    opacity 0.15s,
    color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-link:hover {
  opacity: 1;
  color: var(--color-fd-foreground);
  text-decoration: none;
}

#nd-docs-layout[data-fd-framework] .fd-breadcrumb-current {
  font-weight: 500;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-prompt {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin: 1.25rem 0;
  padding: 1rem;
  border: 1px solid var(--color-fd-border);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--color-fd-card) 78%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-prompt-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-icon,
#nd-docs-layout[data-fd-framework] .fd-prompt-action-icon,
#nd-docs-layout[data-fd-framework] .fd-prompt-menu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 80%, transparent);
  background: color-mix(in srgb, var(--color-fd-background) 55%, transparent);
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-prompt-icon svg,
#nd-docs-layout[data-fd-framework] .fd-prompt-action-icon svg,
#nd-docs-layout[data-fd-framework] .fd-prompt-menu-icon svg {
  width: 1rem;
  height: 1rem;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-copy {
  min-width: 0;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-title {
  margin: 0;
  color: var(--color-fd-foreground);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-description {
  margin: 0.25rem 0 0;
  color: var(--color-fd-muted-foreground);
  font-size: 0.875rem;
  line-height: 1.55;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-body {
  margin: 0;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 82%, transparent);
  background: color-mix(in srgb, var(--color-fd-background) 45%, transparent);
  overflow-x: auto;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-body > pre.fd-prompt-code {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-fd-foreground);
  font-size: 0.875rem;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(
    --fd-font-mono,
    ui-monospace,
    "SF Mono",
    SFMono-Regular,
    Menlo,
    Consolas,
    monospace
  );
}

#nd-docs-layout[data-fd-framework] .fd-prompt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-end;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--color-fd-border);
  border-radius: 0.375rem;
  background: var(--color-fd-secondary);
  color: var(--color-fd-muted-foreground);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-action-btn:hover {
  color: var(--color-fd-accent-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-prompt-action-btn[data-copied="true"] {
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-prompt-action-icon-copied[hidden] {
  display: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-dropdown {
  position: relative;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  z-index: 50;
  min-width: 220px;
  padding: 0.375rem;
  background: var(--color-fd-popover, var(--color-fd-background));
  border: 1px solid var(--color-fd-border);
  border-radius: 0.5rem;
  box-shadow: 0 4px 24px hsl(0 0% 0% / 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-menu[hidden] {
  display: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.35rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--color-fd-foreground);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.1s, color 0.1s;
}

#nd-docs-layout[data-fd-framework] .fd-prompt-menu-item:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-prompt-menu-label {
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: 1px solid var(--color-fd-border);
  border-radius: 8px;
  color: var(--color-fd-muted-foreground);
  cursor: pointer;
  transition:
    color 0.15s,
    background 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-theme-toggle:hover {
  color: var(--color-fd-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 20vh;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  animation: fd-fade-in 0.12s ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-search-dialog {
  width: 90%;
  max-width: 540px;
  background: var(--color-fd-popover);
  border: 1px solid var(--color-fd-border);
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  animation: fd-slide-up 0.15s ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-search-input-wrap svg {
  color: var(--color-fd-muted-foreground);
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 15px;
  color: var(--color-fd-foreground);
  font-family: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-search-input::placeholder {
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-search-kbd {
  font-size: 11px;
  padding: 2px 6px;
  border: 1px solid var(--color-fd-border);
  border-radius: 4px;
  color: var(--color-fd-muted-foreground);
  font-family: inherit;
  background: var(--color-fd-background);
}

#nd-docs-layout[data-fd-framework] .fd-search-results {
  max-height: 360px;
  overflow-y: auto;
  padding: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-search-empty {
  padding: 32px;
  text-align: center;
  color: var(--color-fd-muted-foreground);
  font-size: 14px;
}

#nd-docs-layout[data-fd-framework] .fd-search-result {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.1s;
  font-family: inherit;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-search-result:hover {
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-search-result-title {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

#nd-docs-layout[data-fd-framework] .fd-search-result-url {
  display: block;
  font-size: 12px;
  color: var(--color-fd-muted-foreground);
  margin-top: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body {
  color: var(--color-fd-foreground);
  line-height: 1.75;
  font-size: 15px;
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-page-body a {
  color: var(--color-fd-foreground);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--color-fd-primary);
}

#nd-docs-layout[data-fd-framework] .fd-page-body a:hover {
  opacity: 0.8;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link {
  position: relative;
  display: inline-block;
  vertical-align: baseline;
  max-width: 100%;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-trigger {
  display: inline !important;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  color: var(--color-fd-foreground);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.22em;
  text-decoration-color: color-mix(in srgb, var(--color-fd-foreground) 46%, transparent);
  font: inherit;
  line-height: inherit;
  vertical-align: baseline;
  appearance: none;
  transition: text-decoration-color 180ms ease, opacity 180ms ease;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-trigger:hover,
#nd-docs-layout[data-fd-framework] .fd-hover-link-trigger:focus-visible,
#nd-docs-layout[data-fd-framework] .fd-hover-link-open > .fd-hover-link-trigger {
  text-decoration-color: color-mix(in srgb, var(--color-fd-foreground) 68%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-trigger:focus-visible {
  outline: none;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-popover {
  --fd-hover-link-rest-x: -50%;
  --fd-hover-link-rest-y: 8px;
  --fd-hover-link-open-x: -50%;
  --fd-hover-link-open-y: 0;
  position: absolute;
  top: calc(100% + var(--fd-hover-link-side-offset, 12px));
  left: 50%;
  z-index: 40;
  width: min(22rem, calc(100vw - 2rem));
  max-width: min(22rem, calc(100vw - 2rem));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(var(--fd-hover-link-rest-x), var(--fd-hover-link-rest-y), 0);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms linear;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-align="start"] > .fd-hover-link-popover {
  left: 0;
  --fd-hover-link-rest-x: 0;
  --fd-hover-link-open-x: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-align="end"] > .fd-hover-link-popover {
  left: auto;
  right: 0;
  --fd-hover-link-rest-x: 0;
  --fd-hover-link-open-x: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="top"] > .fd-hover-link-popover {
  top: auto;
  bottom: calc(100% + var(--fd-hover-link-side-offset, 12px));
  --fd-hover-link-rest-y: -8px;
  --fd-hover-link-open-y: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="right"] > .fd-hover-link-popover {
  top: 50%;
  left: calc(100% + var(--fd-hover-link-side-offset, 12px));
  right: auto;
  --fd-hover-link-rest-x: 8px;
  --fd-hover-link-rest-y: -50%;
  --fd-hover-link-open-x: 0;
  --fd-hover-link-open-y: -50%;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="right"][data-align="start"] > .fd-hover-link-popover {
  top: 0;
  --fd-hover-link-rest-y: 0;
  --fd-hover-link-open-y: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="right"][data-align="end"] > .fd-hover-link-popover {
  top: auto;
  bottom: 0;
  --fd-hover-link-rest-y: 0;
  --fd-hover-link-open-y: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="left"] > .fd-hover-link-popover {
  top: 50%;
  left: auto;
  right: calc(100% + var(--fd-hover-link-side-offset, 12px));
  --fd-hover-link-rest-x: -8px;
  --fd-hover-link-rest-y: -50%;
  --fd-hover-link-open-x: 0;
  --fd-hover-link-open-y: -50%;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="left"][data-align="start"] > .fd-hover-link-popover {
  top: 0;
  --fd-hover-link-rest-y: 0;
  --fd-hover-link-open-y: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link[data-side="left"][data-align="end"] > .fd-hover-link-popover {
  top: auto;
  bottom: 0;
  --fd-hover-link-rest-y: 0;
  --fd-hover-link-open-y: 0;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-open > .fd-hover-link-popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(var(--fd-hover-link-open-x), var(--fd-hover-link-open-y), 0);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  border-radius: calc(var(--radius, 0.75rem) + 2px);
  border: 1px solid color-mix(in srgb, var(--color-fd-border) 88%, transparent);
  background: var(--color-fd-popover, var(--color-fd-background));
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground));
  padding: 0.95rem 1rem;
  box-shadow: 0 20px 45px color-mix(in srgb, var(--color-fd-background) 78%, transparent);
  backdrop-filter: blur(14px);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-preview-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--fd-font-mono, var(--font-geist-mono, ui-monospace, monospace));
  color: color-mix(in srgb, var(--color-fd-popover-foreground, var(--color-fd-foreground)) 55%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-title,
#nd-docs-layout[data-fd-framework] .fd-hover-link-cta {
  text-decoration: none !important;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-title {
  color: var(--color-fd-popover-foreground, var(--color-fd-foreground));
  font-size: 1rem;
  font-weight: 600 !important;
  line-height: 1.3;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-title:hover,
#nd-docs-layout[data-fd-framework] .fd-hover-link-cta:hover {
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-description {
  font-size: 0.92rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-fd-popover-foreground, var(--color-fd-foreground)) 74%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.25rem;
  border-top: 1px solid color-mix(in srgb, var(--color-fd-border) 72%, transparent);
}

#nd-docs-layout[data-fd-framework] .fd-hover-link-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  color: var(--color-fd-primary);
  font-size: 0.8rem;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--fd-font-mono, var(--font-geist-mono, ui-monospace, monospace));
}

#nd-docs-layout[data-fd-framework] .fd-page-body h1 {
  font-size: var(--fd-h1-size, 2.25rem);
  font-weight: var(--fd-h1-weight, 700);
  line-height: var(--fd-h1-line-height, 1.2);
  letter-spacing: var(--fd-h1-letter-spacing, -0.025em);
  margin: 0 0 16px;
  scroll-margin-top: 80px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body h2 {
  font-size: var(--fd-h2-size, 1.5rem);
  font-weight: var(--fd-h2-weight, 600);
  line-height: var(--fd-h2-line-height, 1.3);
  letter-spacing: var(--fd-h2-letter-spacing, -0.015em);
  margin: 40px 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-fd-border);
  scroll-margin-top: 80px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body h3 {
  font-size: var(--fd-h3-size, 1.25rem);
  font-weight: var(--fd-h3-weight, 600);
  line-height: var(--fd-h3-line-height, 1.4);
  margin: 32px 0 12px;
  scroll-margin-top: 80px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body h4 {
  font-size: var(--fd-h4-size, 1.125rem);
  font-weight: var(--fd-h4-weight, 600);
  line-height: var(--fd-h4-line-height, 1.4);
  margin: 24px 0 8px;
  scroll-margin-top: 80px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body p {
  margin: 0 0 16px;
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
}

#nd-docs-layout[data-fd-framework] .fd-page-body ul,
#nd-docs-layout[data-fd-framework] .fd-page-body ol {
  margin: 0 0 16px;
  padding-left: 24px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body ul {
  list-style: disc;
}

#nd-docs-layout[data-fd-framework] .fd-page-body ol {
  list-style: decimal;
}

#nd-docs-layout[data-fd-framework] .fd-page-body li {
  margin: 4px 0;
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.75);
}

#nd-docs-layout[data-fd-framework] .fd-page-body li::marker {
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-body strong {
  font-weight: 600;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-body hr {
  border: none;
  border-top: 1px solid var(--color-fd-border);
  margin: 32px 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-body blockquote {
  border-left: 3px solid var(--color-fd-border);
  padding: 8px 16px;
  margin: 16px 0;
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-body code {
  font-size: 0.875em;
  padding: 2px 5px;
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 4px;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-body pre {
  margin: 16px 0;
  padding: 14px 16px;
  background: var(--color-fd-card);
  border: 1px solid var(--color-fd-border);
  border-radius: 8px;
  overflow-x: auto;
  font-size: 13px;
  line-height: 1.5;
  position: relative;
}

#nd-docs-layout[data-fd-framework] .fd-page-body pre code {
  background: transparent;
  border: none;
  padding: 0;
  font-size: inherit;
  border-radius: 0;
  color: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-page-body pre.shiki {
  background-color: var(--color-fd-card) !important;
}

#nd-docs-layout[data-fd-framework] .fd-page-body pre.shiki code {
  counter-reset: line;
}

html.dark #nd-docs-layout[data-fd-framework] .shiki,
html.dark #nd-docs-layout[data-fd-framework] .shiki span {
  color: var(--shiki-dark) !important;
  background-color: transparent !important;
}

html.dark #nd-docs-layout[data-fd-framework] pre.shiki {
  background-color: var(--color-fd-card) !important;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock {
  position: relative;
  margin: 16px 0;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock pre {
  margin: 0;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground, #71717a);
  background: var(--color-fd-secondary, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--color-fd-border);
  border-bottom: none;
  border-radius: var(--radius, 12px) var(--radius, 12px) 0 0;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-title-text,
#nd-docs-layout[data-fd-framework] .fd-codeblock-title figcaption {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-title + .fd-copy-btn ~ pre {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock:has(.fd-codeblock-title) pre {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-left: auto;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-actions-floating {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
}

#nd-docs-layout[data-fd-framework] .fd-copy-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 6px;
  color: var(--color-fd-muted-foreground);
  cursor: pointer;
  opacity: 0;
  transition:
    opacity 0.15s,
    color 0.15s,
    background 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-actions .fd-copy-btn,
#nd-docs-layout[data-fd-framework] .fd-codeblock-actions-floating .fd-copy-btn,
#nd-docs-layout[data-fd-framework] .fd-codeblock-title .fd-copy-btn {
  position: static;
  width: 28px;
  height: 28px;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock-title .fd-copy-btn {
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-codeblock:hover .fd-copy-btn {
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-copy-btn:hover {
  color: var(--color-fd-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-copy-btn-copied {
  color: hsl(142, 71%, 45%) !important;
  opacity: 1 !important;
}

#nd-docs-layout[data-fd-framework] .fd-tabs {
  margin: 16px 0;
  border: 1px solid var(--color-fd-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--color-fd-card);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

#nd-docs-layout[data-fd-framework] .fd-tabs-list {
  display: flex;
  border-bottom: 1px solid var(--color-fd-border);
  background: transparent;
  overflow-x: auto;
}

#nd-docs-layout[data-fd-framework] .fd-tab-trigger {
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--color-fd-muted-foreground);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition:
    color 0.15s,
    border-color 0.15s;
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-tab-trigger:hover {
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-tab-trigger.fd-tab-active,
#nd-docs-layout[data-fd-framework] .fd-tab-trigger[data-state="active"] {
  color: var(--color-fd-foreground);
  font-weight: 600;
  border-bottom-color: var(--color-fd-primary);
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel {
  display: none;
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel[data-state="inactive"],
#nd-docs-layout[data-fd-framework] .fd-code-group-panel[data-state="inactive"] {
  display: none;
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel-active,
#nd-docs-layout[data-fd-framework] .fd-tab-panel[data-state="active"],
#nd-docs-layout[data-fd-framework] .fd-code-group-panel[data-state="active"] {
  display: block;
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel .fd-codeblock {
  margin: 0;
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel .fd-codeblock pre {
  border: none;
  border-radius: 0;
  margin: 0;
  background: transparent !important;
}

#nd-docs-layout[data-fd-framework] .fd-tab-panel .fd-copy-btn {
  top: 6px;
  right: 6px;
}

#nd-docs-layout[data-fd-framework] .fd-page-body .fd-table-wrapper {
  margin: 0 0 24px;
  overflow-x: auto;
  border: 0;
  border-radius: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-body table {
  width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--color-fd-border);
  border-radius: var(--radius-lg, 8px);
  background: var(--color-fd-card);
  font-size: 0.875em;
  line-height: 1.7142857;
}

#nd-docs-layout[data-fd-framework] .fd-page-body th {
  padding: 10px;
  text-align: left;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--color-fd-foreground);
  background: var(--color-fd-muted);
  border-inline-start: 1px solid var(--color-fd-border);
  border-bottom: 1px solid var(--color-fd-border);
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-page-body th:first-child {
  border-inline-start: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-body td {
  padding: 10px;
  text-align: left;
  border-inline-start: 1px solid var(--color-fd-border);
  border-bottom: 1px solid var(--color-fd-border);
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-page-body td:first-child {
  border-inline-start: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-body tbody tr:last-child td {
  border-bottom: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-body td code {
  font-size: 12px;
  padding: 1px 5px;
  background: var(--color-fd-secondary);
  border: 1px solid var(--color-fd-border);
  border-radius: 4px;
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-page-body img {
  max-width: 100%;
  border-radius: 8px;
  margin: 16px 0;
}

#nd-docs-layout[data-fd-framework] .fd-toc-empty {
  font-size: 13px;
  color: var(--color-fd-muted-foreground);
  padding: 4px 0;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-folder-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

@keyframes fd-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fd-slide-up {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

#nd-docs-layout[data-fd-framework] .fd-callout {
  position: relative;
  display: flex;
  gap: 10px;
  margin: 16px 0;
  padding: 12px 16px;
  border: 1px solid var(--color-fd-border);
  border-radius: 8px;
  background: var(--color-fd-card);
  font-size: 14px;
  line-height: 1.6;
  overflow: hidden;
}

#nd-docs-layout[data-fd-framework] .fd-callout-indicator {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 8px 0 0 8px;
}

#nd-docs-layout[data-fd-framework] .fd-callout-note .fd-callout-indicator {
  background: hsl(221, 83%, 53%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-warning .fd-callout-indicator {
  background: hsl(38, 92%, 50%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-tip .fd-callout-indicator {
  background: hsl(142, 71%, 45%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-important .fd-callout-indicator {
  background: hsl(262, 83%, 58%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-caution .fd-callout-indicator {
  background: hsl(0, 72%, 51%);
}

#nd-docs-layout[data-fd-framework] .fd-callout-icon {
  flex-shrink: 0;
  margin-top: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-callout-note .fd-callout-icon {
  color: hsl(221, 83%, 53%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-warning .fd-callout-icon {
  color: hsl(38, 92%, 50%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-tip .fd-callout-icon {
  color: hsl(142, 71%, 45%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-important .fd-callout-icon {
  color: hsl(262, 83%, 58%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-caution .fd-callout-icon {
  color: hsl(0, 72%, 51%);
}

#nd-docs-layout[data-fd-framework] .fd-callout-content {
  flex: 1;
  min-width: 0;
}

#nd-docs-layout[data-fd-framework] .fd-callout-title {
  font-weight: 600;
  font-size: 13px;
}

#nd-docs-layout[data-fd-framework] .fd-callout-note .fd-callout-title {
  color: hsl(221, 83%, 53%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-warning .fd-callout-title {
  color: hsl(38, 92%, 50%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-tip .fd-callout-title {
  color: hsl(142, 71%, 45%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-important .fd-callout-title {
  color: hsl(262, 83%, 58%);
}
#nd-docs-layout[data-fd-framework] .fd-callout-caution .fd-callout-title {
  color: hsl(0, 72%, 51%);
}

#nd-docs-layout[data-fd-framework] .fd-callout-content p:last-child {
  margin-bottom: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-footer {
  display: block;
  margin-top: auto;
  padding-top: 24px;
}

#nd-docs-layout[data-fd-framework] .fd-edit-on-github {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  gap: 0.75rem 16px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  font-size: 13px;
}

#nd-docs-layout[data-fd-framework] .fd-edit-on-github > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 8px;
  border: 1px solid var(--color-fd-border);
  border-radius: 0.375rem;
  background: var(--color-fd-secondary);
  color: var(--color-fd-secondary-foreground);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-decoration: none;
  transition:
    background-color 0.15s,
    color 0.15s,
    border-color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-edit-on-github > a:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-last-modified {
  color: var(--color-fd-muted-foreground);
  font-size: var(--fd-small-size, 0.75rem);
  font-weight: var(--fd-small-weight, 400);
}

@media (max-width: 640px) {
  #nd-docs-layout[data-fd-framework] .fd-last-modified {
    width: 100%;
  }
}

#nd-docs-layout[data-fd-framework] .fd-llms-txt-links {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

#nd-docs-layout[data-fd-framework] .fd-llms-txt-link {
  display: inline-flex;
  align-items: center;
  color: var(--color-fd-muted-foreground);
  font-size: 0.75rem;
  font-family: var(--fd-font-mono, ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace);
  line-height: 1.75rem;
  text-decoration: none;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  border: 1px solid var(--color-fd-border, hsl(0 0% 80% / 50%));
  transition: color 150ms, border-color 150ms;
}

#nd-docs-layout[data-fd-framework] .fd-llms-txt-link:hover {
  color: var(--color-fd-foreground);
  border-color: var(--color-fd-foreground);
  text-decoration: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
  margin-top: 16px;
  padding-top: 0;
  border-top: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav:has(.fd-page-nav-prev):has(.fd-page-nav-next) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#nd-docs-layout[data-fd-framework] .fd-page-nav > div:empty {
  display: none;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  min-height: 95px;
  padding: 16px;
  border: 1px solid var(--color-fd-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--color-fd-foreground);
  transition:
    background-color 0.15s,
    border-color 0.15s;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-card:hover {
  background: var(--color-fd-accent);
  border-color: var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-next {
  text-align: right;
  align-items: flex-end;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-label,
#nd-docs-layout[data-fd-framework] .fd-page-nav-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 0;
  overflow: hidden;
  color: var(--color-fd-foreground);
  font-size: var(--fd-body-size, 1rem);
  font-weight: 500;
  line-height: var(--fd-body-line-height, 1.65);
  overflow-wrap: anywhere;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-title svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-page-nav-description {
  display: block;
  max-width: 100%;
  min-height: 0;
  overflow: hidden;
  color: var(--color-fd-muted-foreground);
  font-size: var(--fd-body-size, 1rem);
  font-weight: var(--fd-body-weight, 400);
  line-height: var(--fd-body-line-height, 1.65);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  opacity: 0.7;
}

#nd-docs-layout[data-fd-framework] .fd-sidebar-link-active .fd-sidebar-icon {
  opacity: 1;
}

@keyframes fd-ai-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fd-ai-slide-up {
  from {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes fd-ai-float-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes fd-ai-float-center-in {
  from {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

#nd-docs-layout[data-fd-framework] .fd-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: fd-ai-fade-in 150ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-dialog {
  position: fixed;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  background: var(--color-fd-popover);
  border: 1px solid var(--color-fd-border);
  border-radius: 12px;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--color-fd-foreground) 5%, transparent),
    0 16px 48px -8px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  color: var(--color-fd-foreground);
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab-bar {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border-bottom: 1px solid var(--color-fd-border);
  background: var(--color-fd-card);
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition:
    color 150ms,
    border-color 150ms,
    background-color 150ms;
  background: transparent;
  color: var(--color-fd-muted-foreground);
  font-family: inherit;
  margin-bottom: -1px;
  position: relative;
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab svg {
  opacity: 0.7;
  flex-shrink: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab[data-active="true"] {
  color: var(--color-fd-foreground);
  border-bottom-color: var(--color-fd-primary);
  background: transparent;
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab[data-active="true"] svg {
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-ai-tab:hover:not([data-active="true"]) {
  color: var(--color-fd-foreground);
  background: var(--color-fd-accent);
}

#nd-docs-layout[data-fd-framework] .fd-ai-esc {
  padding: 2px 8px;
  border-radius: 6px;
  border: 1px solid var(--color-fd-border);
  font-size: 11px;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground);
  background: var(--color-fd-secondary);
  line-height: 1.4;
}

#nd-docs-layout[data-fd-framework] .fd-ai-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
}

#nd-docs-layout[data-fd-framework] .fd-ai-header-title {
  font-size: 14px;
  font-weight: 600;
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-ai-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius, 6px);
  border: none;
  cursor: pointer;
  background: transparent;
  color: var(--color-fd-muted-foreground, #71717a);
  transition: all 150ms;
}

#nd-docs-layout[data-fd-framework] .fd-ai-close-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.06));
}

#nd-docs-layout[data-fd-framework] .fd-ai-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-fd-border);
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-search-wrap svg {
  flex-shrink: 0;
  opacity: 0.5;
}

#nd-docs-layout[data-fd-framework] .fd-ai-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color-fd-foreground);
  font-size: 14px;
  font-family: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-ai-input::placeholder {
  color: var(--color-fd-muted-foreground);
  opacity: 0.7;
}

#nd-docs-layout[data-fd-framework] .fd-ai-results {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  max-height: 360px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-result {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  font-size: 14px;
  font-family: inherit;
  transition:
    background 100ms,
    color 100ms;
  color: var(--color-fd-foreground);
  background: transparent;
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-result svg {
  flex-shrink: 0;
  opacity: 0.5;
}

#nd-docs-layout[data-fd-framework] .fd-ai-result[data-active="true"] {
  background: var(--color-fd-accent);
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-result[data-active="true"] svg {
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-ai-result-empty {
  padding: 48px 16px;
  text-align: center;
  color: var(--color-fd-muted-foreground);
  font-size: 14px;
  line-height: 1.6;
}

#nd-docs-layout[data-fd-framework] .fd-ai-messages {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 12px;
  padding: 24px 0;
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-empty-title {
  font-size: 14px;
  font-weight: 500;
}

#nd-docs-layout[data-fd-framework] .fd-ai-empty-desc {
  font-size: 12px;
  opacity: 0.7;
  text-align: center;
  max-width: 300px;
  line-height: 1.5;
}

#nd-docs-layout[data-fd-framework] .fd-ai-suggestions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  max-width: 360px;
  margin-top: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-suggestion {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--color-fd-border);
  background: var(--color-fd-background);
  opacity: 0.6;
  color: var(--color-fd-foreground);
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  line-height: 1.4;
  transition: all 150ms;
}

#nd-docs-layout[data-fd-framework] .fd-ai-suggestion:hover {
  background: var(--color-fd-accent);
  border-color: var(--color-fd-ring);
  opacity: 1;
}

#nd-docs-layout[data-fd-framework] .fd-ai-msg {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-msg[data-role="user"] {
  align-items: flex-end;
}

#nd-docs-layout[data-fd-framework] .fd-ai-msg[data-role="assistant"] {
  align-items: flex-start;
}

#nd-docs-layout[data-fd-framework] .fd-ai-msg-label {
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fd-muted-foreground);
  padding: 0 2px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-user {
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
  padding: 8px 14px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.5;
  max-width: 85%;
  word-break: break-word;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai {
  background: var(--color-fd-muted, rgba(255, 255, 255, 0.04));
  padding: 10px 14px;
  border-radius: var(--radius, 14px);
  font-size: 13px;
  line-height: 1.6;
  max-width: 95%;
  word-break: break-word;
  animation: fd-ai-msg-in 300ms ease-out;
}

@keyframes fd-ai-msg-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

#nd-docs-layout[data-fd-framework] .fd-ai-chat-footer {
  padding: 8px 12px 12px;
  border-top: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-ai-clear-btn {
  font-size: 11px;
  color: var(--color-fd-muted-foreground);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-ai-clear-btn:hover {
  color: var(--color-fd-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--color-fd-muted);
  border-radius: 10px;
  padding: 4px 4px 4px 14px;
  border: 1px solid var(--color-fd-border);
}

#nd-docs-layout[data-fd-framework] .fd-ai-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  transition: all 150ms;
  cursor: default;
  background: var(--color-fd-muted);
  color: var(--color-fd-muted-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-send-btn[data-active="true"] {
  cursor: pointer;
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-loader {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  animation: fd-ai-loader-in 300ms ease-out;
}

@keyframes fd-ai-loader-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

#nd-docs-layout[data-fd-framework] .fd-ai-loader-shimmer-text {
  font-size: 13px;
  font-weight: 500;
  background: linear-gradient(to right, var(--color-fd-muted-foreground, #888) 40%, var(--color-fd-foreground, #fff) 60%, var(--color-fd-muted-foreground, #888) 80%);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: fd-ai-shimmer-text 3s linear infinite;
}

@keyframes fd-ai-shimmer-text {
  0% { background-position: 150% center; }
  100% { background-position: -150% center; }
}

#nd-docs-layout[data-fd-framework] .fd-ai-loader-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-loader-typing-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-fd-primary, #6366f1);
  animation: fd-ai-typing 1s infinite;
}

#nd-docs-layout[data-fd-framework] .fd-ai-loader-typing-dot:nth-child(2) { animation-delay: 250ms; }
#nd-docs-layout[data-fd-framework] .fd-ai-loader-typing-dot:nth-child(3) { animation-delay: 500ms; }

@keyframes fd-ai-typing {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(-2px); opacity: 1; }
}

#nd-docs-layout[data-fd-framework] .fd-ai-streaming::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  background: var(--color-fd-primary, #6366f1);
  margin-left: 2px;
  vertical-align: text-bottom;
  animation: fd-ai-cursor-blink 0.8s step-end infinite;
}

@keyframes fd-ai-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai code {
  background: var(--color-fd-muted, #1a1a2e);
  padding: 2px 6px;
  border-radius: var(--radius, 4px);
  font-size: 0.875em;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai a {
  color: var(--color-fd-primary, #6366f1);
  text-decoration: underline;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai .fd-ai-code-block code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai .fd-table-wrapper {
  margin: 8px 0;
  overflow: auto;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius, 6px);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  font-size: 13px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai th,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai td {
  border: 0;
  border-right: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  padding: 6px 12px;
  text-align: left;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai tr > :last-child {
  border-right: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai tbody tr:last-child td {
  border-bottom: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai th {
  background: var(--color-fd-muted, #1a1a2e);
  font-weight: 600;
  font-size: 12px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h1,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h2,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h3,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h4,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h5,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h6 {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h1 {
  font-size: 1.25rem;
  margin: 14px 0 7px;
  line-height: 1.25;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h2 {
  font-size: 1.125rem;
  margin: 12px 0 6px;
  line-height: 1.3;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 10px 0 4px;
  line-height: 1.4;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h4 {
  font-size: 0.9375rem;
  margin: 8px 0 4px;
  line-height: 1.4;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h5,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai h6 {
  font-size: 0.8125rem;
  margin: 8px 0 4px;
  line-height: 1.45;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai strong {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai em {
  font-style: italic;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai p {
  margin: 0 0 6px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai br {
  content: "";
  display: block;
  margin-top: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai ul,
#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai ol {
  margin: 6px 0 8px;
  padding-left: 1.25rem;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai li {
  margin: 3px 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai blockquote {
  margin: 8px 0;
  padding: 6px 0 6px 12px;
  border-left: 2px solid var(--color-fd-border, rgba(255, 255, 255, 0.16));
  color: var(--color-fd-muted-foreground, #a1a1aa);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai blockquote p:last-child {
  margin-bottom: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai .fd-ai-hr {
  margin: 12px 0;
  border: none;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.12));
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai del {
  color: var(--color-fd-muted-foreground, #a1a1aa);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai .fd-ai-task-list-item {
  list-style: none;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai .fd-ai-task-checkbox {
  width: 0.875rem;
  height: 0.875rem;
  margin: 0 0.45rem 0 -1.25rem;
  vertical-align: -0.12em;
  accent-color: var(--color-fd-primary, #6366f1);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px 0;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.12));
  border-radius: var(--radius, 4px);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai pre {
  margin: 8px 0;
  border-radius: 0;
  border: none;
  background: transparent;
  padding: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-block {
  --sh-class: #8be9fd;
  --sh-identifier: #c9d1d9;
  --sh-keyword: #ff7b72;
  --sh-string: #a5d6ff;
  --sh-property: #79c0ff;
  --sh-entity: #7ee787;
  --sh-sign: #8b949e;
  --sh-comment: #6e7681;
  --sh-jsxliterals: #d2a8ff;
  --sh-space: inherit;

  margin: 10px 0;
  border-radius: var(--radius, 8px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-muted, #1a1a2e);
  overflow: hidden;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.08));
  background: color-mix(in srgb, var(--color-fd-muted, #1a1a2e) 80%, black);
  min-height: 32px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-lang {
  font-size: 11px;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground, #71717a);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-copy {
  font-size: 11px;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  color: var(--color-fd-muted-foreground, #71717a);
  background: transparent;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius, 4px);
  padding: 2px 8px;
  cursor: pointer;
  transition: all 150ms;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-copy:hover {
  color: var(--color-fd-foreground, #e4e4e7);
  background: color-mix(
    in srgb,
    var(--color-fd-accent, rgba(255, 255, 255, 0.05)) 60%,
    transparent
  );
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-block pre {
  margin: 0;
  padding: 12px 16px;
  overflow-x: auto;
  background: transparent;
  border: none;
  border-radius: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-block code {
  font-size: 13px;
  line-height: 1.45;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
  background: transparent;
  padding: 0;
  border-radius: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-block .sh__line {
  display: block;
  min-height: 1.2em;
}

#nd-docs-layout[data-fd-framework] .fd-ai-dialog {
  border-radius: 12px;
  box-shadow:
    0 20px 60px rgba(99, 102, 241, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-user {
  border-radius: 16px 16px 4px 16px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-bubble-ai {
  border-radius: 16px 16px 16px 4px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-input-wrap {
  border-radius: 10px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-send-btn {
  border-radius: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-btn {
  border-radius: 26px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-suggestion {
  border-radius: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-result {
  border-radius: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input-container {
  border-radius: 12px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-send-btn {
  border-radius: 9999px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestion {
  border-radius: 9999px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn {
  border-radius: 16px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-close-btn {
  border-radius: 9999px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-block {
  border-radius: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-code-copy {
  border-radius: 4px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-btn {
  position: fixed;
  z-index: 9997;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
  backdrop-filter: blur(4px);
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  font-size: var(--fd-small-size, 0.875rem);
  font-family: var(--fd-font-sans, inherit);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
  transition:
    transform 150ms,
    background 150ms,
    color 150ms;
  animation: fd-ai-fade-in 300ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  transform: scale(1.03);
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-btn:active {
  transform: scale(0.97);
}

:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-floating-btn,
#nd-docs-layout[data-fd-framework].dark .fd-ai-floating-btn,
:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn,
#nd-docs-layout[data-fd-framework].dark .fd-ai-fm-trigger-btn {
  background: color-mix(in srgb, var(--color-fd-secondary, rgba(255, 255, 255, 0.08)) 90%, transparent);
  color: var(--color-fd-foreground, #e4e4e7);
  border-color: var(--color-fd-border, rgba(255, 255, 255, 0.12));
}

:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-floating-btn:hover,
#nd-docs-layout[data-fd-framework].dark .fd-ai-floating-btn:hover,
:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn:hover,
#nd-docs-layout[data-fd-framework].dark .fd-ai-fm-trigger-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger {
  position: fixed;
  z-index: 9997;
  cursor: pointer;
  animation: fd-ai-fade-in 300ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger .ask-ai-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
  backdrop-filter: blur(4px);
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  font-size: var(--fd-small-size, 0.875rem);
  font-family: var(--fd-font-sans, inherit);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
  transition: transform 150ms, background 150ms, color 150ms;
}

:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger .ask-ai-trigger,
#nd-docs-layout[data-fd-framework].dark .fd-ai-floating-trigger .ask-ai-trigger {
  background: color-mix(in srgb, var(--color-fd-secondary, rgba(255, 255, 255, 0.08)) 90%, transparent);
  color: var(--color-fd-foreground, #e4e4e7);
  border-color: var(--color-fd-border, rgba(255, 255, 255, 0.12));
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger .ask-ai-trigger:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  transform: scale(1.03);
}

:is(html.dark, body.dark) #nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger .ask-ai-trigger:hover,
#nd-docs-layout[data-fd-framework].dark .fd-ai-floating-trigger .ask-ai-trigger:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger .ask-ai-trigger:active {
  transform: scale(0.97);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-fixed {
  position: fixed;
  z-index: 9997;
  animation: fd-ai-fade-in 200ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-floating-trigger--static {
  position: static;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: color-mix(in srgb, var(--color-fd-background, #000) 80%, transparent);
  backdrop-filter: blur(8px);
  z-index: 9998;
  padding: 0 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-overlay--animate {
  animation: fd-ai-fade-in 200ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: min(800px, 100%);
  padding: 12px 0;
  position: sticky;
  top: 0;
  z-index: 2;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius, 9999px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-secondary, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-foreground, #e4e4e7);
  cursor: pointer;
  transition: all 150ms;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-close-btn:hover {
  background: var(--color-fd-accent, rgba(255, 255, 255, 0.1));
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-messages {
  flex: 1;
  overflow-y: auto;
  width: min(800px, 100%);
  padding: 24px 0 120px;
  mask-image: linear-gradient(
    to bottom,
    transparent,
    white 3rem,
    white calc(100% - 8rem),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent,
    white 3rem,
    white calc(100% - 8rem),
    transparent 100%
  );
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-messages-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg {
  display: flex;
  flex-direction: column;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-label {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--color-fd-muted-foreground, #71717a);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-label[data-role="assistant"] {
  color: var(--color-fd-primary, #6366f1);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content {
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content code {
  background: var(--color-fd-muted, #1a1a2e);
  padding: 2px 6px;
  border-radius: var(--radius, 4px);
  font-size: 0.875em;
  font-family: var(--fd-font-mono, ui-monospace, monospace);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content .fd-ai-code-block code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content a {
  color: var(--color-fd-primary, #6366f1);
  text-decoration: underline;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content .fd-table-wrapper {
  margin: 8px 0;
  overflow: auto;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius, 6px);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  font-size: 13px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content th,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content td {
  border: 0;
  border-right: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  border-bottom: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  padding: 6px 12px;
  text-align: left;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content tr > :last-child {
  border-right: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content tbody tr:last-child td {
  border-bottom: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content th {
  background: var(--color-fd-muted, #1a1a2e);
  font-weight: 600;
  font-size: 12px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h1,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h2,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h3,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h4,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h5,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h6 {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h1 {
  font-size: 1.375rem;
  margin: 18px 0 9px;
  line-height: 1.25;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h2 {
  font-size: 1.25rem;
  margin: 16px 0 8px;
  line-height: 1.3;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin: 12px 0 6px;
  line-height: 1.4;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h4 {
  font-size: 1rem;
  margin: 10px 0 4px;
  line-height: 1.4;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h5,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content h6 {
  font-size: 0.875rem;
  margin: 10px 0 4px;
  line-height: 1.45;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content strong {
  font-weight: 600;
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content em {
  font-style: italic;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content p {
  margin: 0 0 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content br {
  content: "";
  display: block;
  margin-top: 2px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content ul,
#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content ol {
  margin: 8px 0 10px;
  padding-left: 1.35rem;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content li {
  margin: 4px 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content blockquote {
  margin: 10px 0;
  padding: 7px 0 7px 14px;
  border-left: 2px solid var(--color-fd-border, rgba(255, 255, 255, 0.16));
  color: var(--color-fd-muted-foreground, #a1a1aa);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content blockquote p:last-child {
  margin-bottom: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content .fd-ai-hr {
  margin: 14px 0;
  border: none;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.12));
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content del {
  color: var(--color-fd-muted-foreground, #a1a1aa);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content .fd-ai-task-list-item {
  list-style: none;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content .fd-ai-task-checkbox {
  width: 0.9rem;
  height: 0.9rem;
  margin: 0 0.5rem 0 -1.35rem;
  vertical-align: -0.12em;
  accent-color: var(--color-fd-primary, #6366f1);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 10px 0;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.12));
  border-radius: var(--radius, 4px);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-msg-content pre {
  margin: 8px 0;
  border-radius: 0;
  border: none;
  background: transparent;
  padding: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input-bar {
  position: fixed;
  z-index: 9999;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input-bar--open {
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: min(800px, calc(100vw - 32px));
  animation: fd-ai-fade-in 200ms ease-out;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input-container {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius, 12px);
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: var(--color-fd-background, #0c0c0c);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--color-fd-background, #000) 70%, transparent);
  overflow: hidden;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input-wrap {
  display: flex;
  align-items: flex-start;
  padding-right: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input {
  flex: 1;
  padding: 16px;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--color-fd-foreground, #e4e4e7);
  font-size: 14px;
  font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
  line-height: 1.5;
  min-height: 0;
  max-height: 120px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-input::placeholder {
  color: var(--color-fd-muted-foreground, #71717a);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  border: none;
  cursor: default;
  transition: all 150ms;
  background: var(--color-fd-secondary, rgba(255, 255, 255, 0.06));
  color: var(--color-fd-muted-foreground, #71717a);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-send-btn[data-active="true"] {
  cursor: pointer;
  background: var(--color-fd-primary, #6366f1);
  color: var(--color-fd-primary-foreground, #fff);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestions-area {
  padding: 12px 16px 4px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestions-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-fd-muted-foreground, #71717a);
  margin-bottom: 8px;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestions {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 1rem,
    black calc(100% - 1rem),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 1rem,
    black calc(100% - 1rem),
    transparent 100%
  );
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestion {
  flex-shrink: 0;
  white-space: nowrap;
  padding: 6px 14px;
  font-size: 12px;
  font-family: inherit;
  border-radius: 9999px;
  border: 1px solid
    color-mix(in srgb, var(--color-fd-border, rgba(255, 255, 255, 0.1)) 50%, transparent);
  background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 30%, transparent);
  color: var(--color-fd-muted-foreground, #71717a);
  cursor: pointer;
  transition: all 200ms;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-suggestion:hover {
  background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 50%, transparent);
  color: var(--color-fd-foreground, #e4e4e7);
  border-color: var(--color-fd-border, rgba(255, 255, 255, 0.1));
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-footer-bar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
  background: color-mix(
    in srgb,
    var(--color-fd-accent, rgba(255, 255, 255, 0.03)) 40%,
    transparent
  );
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-clear-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  color: var(--color-fd-muted-foreground, #71717a);
  transition: color 200ms;
  padding: 0;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-clear-btn:hover {
  color: var(--color-fd-foreground, #e4e4e7);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-clear-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-footer-hint {
  flex: 1;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
  background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
  backdrop-filter: blur(4px);
  color: var(--color-fd-muted-foreground, #71717a);
  font-family: inherit;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
  transition:
    transform 150ms,
    background 150ms,
    color 150ms;
  animation: fd-ai-fade-in 300ms ease-out;
  white-space: nowrap;
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn:hover {
  background: var(--color-fd-accent);
  color: var(--color-fd-accent-foreground);
  transform: scale(1.03);
}

#nd-docs-layout[data-fd-framework] .fd-ai-fm-trigger-btn:active {
  transform: scale(0.97);
}
