:root {
  color-scheme: light dark;
  --fandhe-color-bg: #ffffff;
  --fandhe-color-bg-subtle: #f7f7f7;
  --fandhe-color-bg-muted: #eeeeee;
  --fandhe-color-fg: #111111;
  --fandhe-color-fg-muted: #4a4a4a;
  --fandhe-color-fg-subtle: #767676;
  --fandhe-color-border: #d9d9d9;
  --fandhe-color-border-muted: #e6e6e6;
  --fandhe-color-accent: #3182ce;
  --fandhe-color-accent-emphasized: #2b6cb0;
  --fandhe-color-accent-fg: #ffffff;
  --fandhe-color-info: #3182ce;
  --fandhe-color-info-emphasized: #2b6cb0;
  --fandhe-color-info-fg: #ffffff;
  --fandhe-color-success: #2f855a;
  --fandhe-color-success-emphasized: #276749;
  --fandhe-color-success-fg: #ffffff;
  --fandhe-color-warning: #b7791f;
  --fandhe-color-warning-emphasized: #975a16;
  --fandhe-color-warning-fg: #ffffff;
  --fandhe-color-danger: #c53030;
  --fandhe-color-danger-emphasized: #9b2c2c;
  --fandhe-color-danger-fg: #ffffff;
  --fandhe-color-chart-1: #3182ce;
  --fandhe-color-chart-2: #dd6b20;
  --fandhe-color-chart-3: #2f855a;
  --fandhe-color-chart-4: #805ad5;
  --fandhe-color-chart-5: #d53f8c;
  --fandhe-color-chart-6: #00a3c4;
  --fandhe-space-1: 0.25rem;
  --fandhe-space-2: 0.5rem;
  --fandhe-space-3: 0.75rem;
  --fandhe-space-4: 1rem;
  --fandhe-space-5: 1.25rem;
  --fandhe-space-6: 1.5rem;
  --fandhe-space-8: 2rem;
  --fandhe-space-10: 2.5rem;
  --fandhe-space-12: 3rem;
  --fandhe-space-16: 4rem;
  --fandhe-font-font-body: system-ui, -apple-system, sans-serif;
  --fandhe-font-font-mono: ui-monospace, monospace;
  --fandhe-font-font-size-xs: 0.75rem;
  --fandhe-font-font-size-sm: 0.875rem;
  --fandhe-font-font-size-md: 1rem;
  --fandhe-font-font-size-lg: 1.125rem;
  --fandhe-font-font-size-xl: 1.25rem;
  --fandhe-font-font-size-2xl: 1.5rem;
  --fandhe-font-font-size-3xl: 1.875rem;
  --fandhe-font-font-size-4xl: 2.25rem;
  --fandhe-font-font-weight-normal: 400;
  --fandhe-font-font-weight-medium: 500;
  --fandhe-font-font-weight-semibold: 600;
  --fandhe-font-font-weight-bold: 700;
  --fandhe-font-line-height-tight: 1.25;
  --fandhe-font-line-height-normal: 1.5;
  --fandhe-font-line-height-relaxed: 1.75;
  --fandhe-radius-sm: 0.25rem;
  --fandhe-radius-md: 0.375rem;
  --fandhe-radius-lg: 0.5rem;
  --fandhe-radius-xl: 0.75rem;
  --fandhe-radius-full: 9999px;
  --fandhe-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.06);
  --fandhe-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
  --fandhe-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --fandhe-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.16);
}
:root[data-theme="light"] { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --fandhe-color-bg: #111111;
    --fandhe-color-bg-subtle: #1a1a1a;
    --fandhe-color-bg-muted: #242424;
    --fandhe-color-fg: #f7f7f7;
    --fandhe-color-fg-muted: #cccccc;
    --fandhe-color-fg-subtle: #a3a3a3;
    --fandhe-color-border: #3a3a3a;
    --fandhe-color-border-muted: #2a2a2a;
    --fandhe-color-accent: #4299e1;
    --fandhe-color-accent-emphasized: #63b3ed;
    --fandhe-color-accent-fg: #0b1720;
    --fandhe-color-info: #63b3ed;
    --fandhe-color-info-emphasized: #90cdf4;
    --fandhe-color-info-fg: #0b1720;
    --fandhe-color-success: #68d391;
    --fandhe-color-success-emphasized: #9ae6b4;
    --fandhe-color-success-fg: #0b1a12;
    --fandhe-color-warning: #f6ad55;
    --fandhe-color-warning-emphasized: #fbd38d;
    --fandhe-color-warning-fg: #1a1203;
    --fandhe-color-danger: #fc8181;
    --fandhe-color-danger-emphasized: #feb2b2;
    --fandhe-color-danger-fg: #1a0b0b;
    --fandhe-color-chart-1: #63b3ed;
    --fandhe-color-chart-2: #f6ad55;
    --fandhe-color-chart-3: #68d391;
    --fandhe-color-chart-4: #b794f4;
    --fandhe-color-chart-5: #f687b3;
    --fandhe-color-chart-6: #76e4f7;
    --fandhe-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.24);
    --fandhe-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.32);
    --fandhe-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
    --fandhe-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fandhe-color-bg: #111111;
  --fandhe-color-bg-subtle: #1a1a1a;
  --fandhe-color-bg-muted: #242424;
  --fandhe-color-fg: #f7f7f7;
  --fandhe-color-fg-muted: #cccccc;
  --fandhe-color-fg-subtle: #a3a3a3;
  --fandhe-color-border: #3a3a3a;
  --fandhe-color-border-muted: #2a2a2a;
  --fandhe-color-accent: #4299e1;
  --fandhe-color-accent-emphasized: #63b3ed;
  --fandhe-color-accent-fg: #0b1720;
  --fandhe-color-info: #63b3ed;
  --fandhe-color-info-emphasized: #90cdf4;
  --fandhe-color-info-fg: #0b1720;
  --fandhe-color-success: #68d391;
  --fandhe-color-success-emphasized: #9ae6b4;
  --fandhe-color-success-fg: #0b1a12;
  --fandhe-color-warning: #f6ad55;
  --fandhe-color-warning-emphasized: #fbd38d;
  --fandhe-color-warning-fg: #1a1203;
  --fandhe-color-danger: #fc8181;
  --fandhe-color-danger-emphasized: #feb2b2;
  --fandhe-color-danger-fg: #1a0b0b;
  --fandhe-color-chart-1: #63b3ed;
  --fandhe-color-chart-2: #f6ad55;
  --fandhe-color-chart-3: #68d391;
  --fandhe-color-chart-4: #b794f4;
  --fandhe-color-chart-5: #f687b3;
  --fandhe-color-chart-6: #76e4f7;
  --fandhe-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.24);
  --fandhe-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.32);
  --fandhe-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
  --fandhe-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
}
[data-scope="button"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--fandhe-radius-md);
  font-family: var(--fandhe-font-font-body);
  cursor: pointer;
  text-decoration: none;
}

[data-scope="button"][data-part="root"].fd-button--size-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="button"][data-part="root"].fd-button--size-md {
  padding: 0.5rem 1rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="button"][data-part="root"].fd-button--size-lg {
  padding: 0.75rem 1.5rem;
  font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="button"][data-part="root"].fd-button--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
  border: none;
}

[data-scope="button"][data-part="root"].fd-button--variant-outline {
  background: transparent;
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-palette);
}

[data-scope="button"][data-part="root"].fd-button--variant-ghost {
  background: transparent;
  color: var(--fandhe-palette);
  border: none;
}

[data-scope="button"][data-part="root"].fd-button--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
  border: none;
}

[data-scope="button"][data-part="root"].fd-button--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="button"][data-part="root"].fd-button--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="button"][data-part="root"].fd-button--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="button"][data-part="root"].fd-button--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="button"][data-part="root"].fd-button--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="button"][data-part="root"].fd-button--icon-only {
  aspect-ratio: 1 / 1;
}

[data-scope="button"][data-part="root"].fd-button--icon-only.fd-button--size-sm {
  padding: 0.25rem;
}

[data-scope="button"][data-part="root"].fd-button--icon-only.fd-button--size-md {
  padding: 0.5rem;
}

[data-scope="button"][data-part="root"].fd-button--icon-only.fd-button--size-lg {
  padding: 0.75rem;
}
[data-scope="download-trigger"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--fandhe-radius-md);
  font-family: var(--fandhe-font-font-body);
  cursor: pointer;
  text-decoration: none;
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--size-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--size-md {
  padding: 0.5rem 1rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--size-lg {
  padding: 0.75rem 1.5rem;
  font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
  border: none;
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--variant-outline {
  background: transparent;
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-palette);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--variant-ghost {
  background: transparent;
  color: var(--fandhe-palette);
  border: none;
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
  border: none;
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="download-trigger"][data-part="root"].fd-download-trigger--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="badge"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  border-radius: var(--fandhe-radius-sm);
  font-weight: var(--fandhe-font-font-weight-medium);
}

[data-scope="badge"][data-part="root"].fd-badge--size-sm {
  padding: 0.0625rem 0.375rem;
  font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="badge"][data-part="root"].fd-badge--size-md {
  padding: 0.125rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="badge"][data-part="root"].fd-badge--size-lg {
  padding: 0.25rem 0.625rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="badge"][data-part="root"].fd-badge--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
}

[data-scope="badge"][data-part="root"].fd-badge--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="badge"][data-part="root"].fd-badge--variant-outline {
  background: transparent;
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="badge"][data-part="root"].fd-badge--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="badge"][data-part="root"].fd-badge--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="badge"][data-part="root"].fd-badge--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="badge"][data-part="root"].fd-badge--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="badge"][data-part="root"].fd-badge--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="spinner"][data-part="root"] {
  display: inline-block;
  border-radius: var(--fandhe-radius-full);
  border: 2px solid var(--fandhe-color-border);
  border-top-color: var(--fandhe-palette);
  animation: fd-spinner-spin 0.6s linear infinite;
}

[data-scope="spinner"][data-part="root"].fd-spinner--size-sm {
  width: 1rem;
  height: 1rem;
}

[data-scope="spinner"][data-part="root"].fd-spinner--size-md {
  width: 1.5rem;
  height: 1.5rem;
}

[data-scope="spinner"][data-part="root"].fd-spinner--size-lg {
  width: 2rem;
  height: 2rem;
}

[data-scope="spinner"][data-part="root"].fd-spinner--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="spinner"][data-part="root"].fd-spinner--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="spinner"][data-part="root"].fd-spinner--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="spinner"][data-part="root"].fd-spinner--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="spinner"][data-part="root"].fd-spinner--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

@keyframes fd-spinner-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
[data-scope="alert"][data-part="root"] {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: var(--fandhe-radius-md);
}

[data-scope="alert"][data-part="indicator"] {
  flex-shrink: 0;
}

[data-scope="alert"][data-part="content"] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

[data-scope="alert"][data-part="title"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
}

[data-scope="alert"][data-part="description"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="alert"][data-part="root"].fd-alert--status-info {
  --fandhe-palette: var(--fandhe-color-info);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="alert"][data-part="root"].fd-alert--status-success {
  --fandhe-palette: var(--fandhe-color-success);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="alert"][data-part="root"].fd-alert--status-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="alert"][data-part="root"].fd-alert--status-error {
  --fandhe-palette: var(--fandhe-color-danger);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}
[data-scope="callout"][data-part="root"] {
  display: flex;
  gap: 0.75rem;
  border-radius: var(--fandhe-radius-md);
}

[data-scope="callout"][data-part="icon"] {
  flex-shrink: 0;
}

[data-scope="callout"][data-part="text"] {
  min-width: 0;
  line-height: var(--fandhe-font-line-height-normal);
}

[data-scope="callout"][data-part="root"].fd-callout--size-sm {
  padding: 0.5rem 0.75rem;
}

[data-scope="callout"][data-part="text"].fd-callout--size-sm {
  font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="callout"][data-part="root"].fd-callout--size-md {
  padding: 0.75rem 1rem;
}

[data-scope="callout"][data-part="text"].fd-callout--size-md {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="callout"][data-part="root"].fd-callout--size-lg {
  padding: 1rem 1.25rem;
}

[data-scope="callout"][data-part="text"].fd-callout--size-lg {
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="callout"][data-part="root"].fd-callout--variant-soft {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="callout"][data-part="root"].fd-callout--variant-surface {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="callout"][data-part="root"].fd-callout--variant-outline {
  background: transparent;
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-palette);
}

[data-scope="callout"][data-part="root"].fd-callout--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="callout"][data-part="root"].fd-callout--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="callout"][data-part="root"].fd-callout--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="callout"][data-part="root"].fd-callout--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="callout"][data-part="root"].fd-callout--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="card"][data-part="root"] {
  display: flex;
  flex-direction: column;
  border-radius: var(--fandhe-radius-lg);
}

[data-scope="card"][data-part="header"] {
  padding: 1rem;
  border-bottom: 1px solid var(--fandhe-color-border-muted);
}

[data-scope="card"][data-part="body"] {
  padding: 1rem;
}

[data-scope="card"][data-part="footer"] {
  padding: 1rem;
  border-top: 1px solid var(--fandhe-color-border-muted);
}

[data-scope="card"][data-part="title"] {
  font-size: var(--fandhe-font-font-size-lg);
  font-weight: var(--fandhe-font-font-weight-semibold);
}

[data-scope="card"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
}

[data-scope="card"][data-part="root"].fd-card--variant-elevated {
  background: var(--fandhe-color-bg);
  box-shadow: var(--fandhe-shadow-sm);
}

[data-scope="card"][data-part="root"].fd-card--variant-outline {
  background: var(--fandhe-color-bg);
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="card"][data-part="root"].fd-card--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
}
[data-scope="tabs"][data-part="list"] {
  display: flex;
  gap: var(--fandhe-space-2);
  border-bottom: 1px solid var(--fandhe-color-border);
}

[data-scope="tabs"][data-part="trigger"] {
  padding: var(--fandhe-tabs-trigger-padding, var(--fandhe-space-2) var(--fandhe-space-4));
  background: transparent;
  color: var(--fandhe-color-fg-muted);
  border: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

[data-scope="tabs"][data-part="content"] {
  padding: var(--fandhe-tabs-content-padding, var(--fandhe-space-4) 0);
  color: var(--fandhe-color-fg);
}

[data-scope="tabs"][data-part="root"].fd-tabs--size-sm {
  --fandhe-tabs-trigger-padding: var(--fandhe-space-1) var(--fandhe-space-3);
  --fandhe-tabs-content-padding: var(--fandhe-space-3) 0;
}

[data-scope="tabs"][data-part="root"].fd-tabs--size-md {
  --fandhe-tabs-trigger-padding: var(--fandhe-space-2) var(--fandhe-space-4);
  --fandhe-tabs-content-padding: var(--fandhe-space-4) 0;
}

[data-scope="tabs"][data-part="root"].fd-tabs--size-lg {
  --fandhe-tabs-trigger-padding: var(--fandhe-space-3) var(--fandhe-space-5);
  --fandhe-tabs-content-padding: var(--fandhe-space-5) 0;
}

[data-scope="tabs"][data-part="root"].fd-tabs--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="tabs"][data-part="root"].fd-tabs--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="tabs"][data-part="root"].fd-tabs--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="tabs"][data-part="root"].fd-tabs--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="tabs"][data-part="root"].fd-tabs--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="tabs"][data-part="trigger"][data-state="active"] {
  color: var(--fandhe-color-fg);
  border-bottom-color: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="tabs"][data-part="content"][data-state="inactive"] {
  display: none;
}

[data-scope="tabs"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="accordion"][data-part="root"] {
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.5rem;
  overflow: hidden;
}

[data-scope="accordion"][data-part="item"] {
  border-bottom: 1px solid var(--fandhe-color-border-muted);
}

[data-scope="accordion"][data-part="item-trigger"] {
  display: flex;
  width: 100%;
  padding: var(--fandhe-accordion-trigger-padding, var(--fandhe-space-4));
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  cursor: pointer;
  border: 0;
  text-align: left;
}

[data-scope="accordion"][data-part="item-indicator"] {
  display: inline-block;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="accordion"][data-part="item-content"] {
  padding: var(--fandhe-accordion-content-padding, var(--fandhe-space-4));
  color: var(--fandhe-color-fg);
}

[data-scope="accordion"][data-part="root"].fd-accordion--size-sm {
  --fandhe-accordion-trigger-padding: var(--fandhe-space-3);
  --fandhe-accordion-content-padding: var(--fandhe-space-3);
}

[data-scope="accordion"][data-part="root"].fd-accordion--size-md {
  --fandhe-accordion-trigger-padding: var(--fandhe-space-4);
  --fandhe-accordion-content-padding: var(--fandhe-space-4);
}

[data-scope="accordion"][data-part="root"].fd-accordion--size-lg {
  --fandhe-accordion-trigger-padding: var(--fandhe-space-5);
  --fandhe-accordion-content-padding: var(--fandhe-space-5);
}

[data-scope="accordion"][data-part="item-trigger"][data-state="open"] {
  color: var(--fandhe-color-accent);
}

[data-scope="accordion"][data-part="item-indicator"][data-state="open"] {
  transform: rotate(180deg);
}

[data-scope="accordion"][data-part="item-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="dialog"][data-part="trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg);
}

[data-scope="dialog"][data-part="backdrop"] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.4);
}

[data-scope="dialog"][data-part="positioner"] {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--fandhe-space-4);
}

[data-scope="dialog"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border-radius: 0.5rem;
  padding: var(--fandhe-dialog-content-padding, var(--fandhe-space-6));
  max-width: var(--fandhe-dialog-content-max-width, 32rem);
  width: 100%;
}

[data-scope="dialog"][data-part="title"] {
  font-size: var(--fandhe-dialog-title-font-size, var(--fandhe-font-font-size-lg));
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0 0 var(--fandhe-space-2) 0;
}

[data-scope="dialog"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
  margin: 0;
}

[data-scope="dialog"][data-part="close-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="dialog"][data-part="root"].fd-dialog--size-sm {
  --fandhe-dialog-content-padding: var(--fandhe-space-4);
  --fandhe-dialog-content-max-width: 24rem;
  --fandhe-dialog-title-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="dialog"][data-part="root"].fd-dialog--size-md {
  --fandhe-dialog-content-padding: var(--fandhe-space-6);
  --fandhe-dialog-content-max-width: 32rem;
  --fandhe-dialog-title-font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="dialog"][data-part="root"].fd-dialog--size-lg {
  --fandhe-dialog-content-padding: var(--fandhe-space-8);
  --fandhe-dialog-content-max-width: 42rem;
  --fandhe-dialog-title-font-size: var(--fandhe-font-font-size-xl);
}

[data-scope="dialog"][data-part="backdrop"][data-state="open"] {
  opacity: 1;
}

[data-scope="dialog"][data-part="backdrop"][data-state="closed"] {
  opacity: 0;
}

[data-scope="dialog"][data-part="content"][data-state="open"] {
  transform: scale(1);
}

[data-scope="dialog"][data-part="content"][data-state="closed"] {
  transform: scale(0.95);
}

[data-scope="dialog"][data-part="positioner"][hidden] {
  display: none;
}

[data-scope="dialog"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="dialog"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="drawer"][data-part="trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg);
}

[data-scope="drawer"][data-part="backdrop"] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.4);
}

[data-scope="drawer"][data-part="positioner"] {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
}

[data-scope="drawer"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  padding: var(--fandhe-drawer-content-padding, var(--fandhe-space-6));
  box-sizing: border-box;
  overflow-y: auto;
}

[data-scope="drawer"][data-part="title"] {
  font-size: var(--fandhe-font-font-size-lg);
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0 0 var(--fandhe-space-2) 0;
}

[data-scope="drawer"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
  margin: 0;
}

[data-scope="drawer"][data-part="close-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="drawer"][data-part="root"].fd-drawer--size-sm {
  --fandhe-drawer-size: 16rem;
}

[data-scope="drawer"][data-part="root"].fd-drawer--size-md {
  --fandhe-drawer-size: 20rem;
}

[data-scope="drawer"][data-part="root"].fd-drawer--size-lg {
  --fandhe-drawer-size: 28rem;
}

[data-scope="drawer"][data-part="positioner"][data-placement="start"] {
  flex-direction: row;
  justify-content: flex-start;
}

[data-scope="drawer"][data-part="positioner"][data-placement="end"] {
  flex-direction: row;
  justify-content: flex-end;
}

[data-scope="drawer"][data-part="positioner"][data-placement="top"] {
  flex-direction: column;
  justify-content: flex-start;
}

[data-scope="drawer"][data-part="positioner"][data-placement="bottom"] {
  flex-direction: column;
  justify-content: flex-end;
}

[data-scope="drawer"][data-part="content"][data-placement="start"] {
  width: var(--fandhe-drawer-size, 20rem);
  height: 100%;
}

[data-scope="drawer"][data-part="content"][data-placement="end"] {
  width: var(--fandhe-drawer-size, 20rem);
  height: 100%;
}

[data-scope="drawer"][data-part="content"][data-placement="top"] {
  height: var(--fandhe-drawer-size, 20rem);
  width: 100%;
}

[data-scope="drawer"][data-part="content"][data-placement="bottom"] {
  height: var(--fandhe-drawer-size, 20rem);
  width: 100%;
}

[data-scope="drawer"][data-part="backdrop"][data-state="open"] {
  opacity: 1;
}

[data-scope="drawer"][data-part="backdrop"][data-state="closed"] {
  opacity: 0;
}

[data-scope="drawer"][data-part="content"][data-state="open"] {
  opacity: 1;
}

[data-scope="drawer"][data-part="content"][data-state="closed"] {
  opacity: 0;
}

[data-scope="drawer"][data-part="positioner"][hidden] {
  display: none;
}

[data-scope="drawer"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="drawer"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="menu"][data-part="root"] {
  position: relative;
}

[data-scope="menu"][data-part="trigger"] {
  cursor: pointer;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-menu-trigger-padding, var(--fandhe-space-2) var(--fandhe-space-3));
}

[data-scope="menu"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="menu"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-menu-content-padding, var(--fandhe-space-2));
  min-width: var(--fandhe-reference-width, 10rem);
}

[data-scope="menu"][data-part="arrow"] {
  position: absolute;
  left: var(--fandhe-arrow-x, 50%);
  top: var(--fandhe-arrow-y, 0);
  transform: translate(-50%, -50%);
}

[data-scope="menu"][data-part="arrow-tip"] {
  width: 0.5rem;
  height: 0.5rem;
  background: var(--fandhe-color-bg);
  border-left: 1px solid var(--fandhe-color-border);
  border-top: 1px solid var(--fandhe-color-border);
  transform: rotate(45deg);
}

[data-scope="menu"][data-part="item"] {
  padding: var(--fandhe-menu-item-padding, var(--fandhe-space-2) var(--fandhe-space-3));
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="menu"][data-part="item-group-label"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="menu"][data-part="separator"] {
  border: 0;
  border-top: 1px solid var(--fandhe-color-border-muted);
  margin: var(--fandhe-space-2) 0;
}

[data-scope="menu"][data-part="root"].fd-menu--size-sm {
  --fandhe-menu-trigger-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-menu-item-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-menu-content-padding: var(--fandhe-space-1);
}

[data-scope="menu"][data-part="root"].fd-menu--size-md {
  --fandhe-menu-trigger-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-menu-item-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-menu-content-padding: var(--fandhe-space-2);
}

[data-scope="menu"][data-part="root"].fd-menu--size-lg {
  --fandhe-menu-trigger-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-menu-item-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-menu-content-padding: var(--fandhe-space-3);
}

[data-scope="menu"][data-part="trigger"][data-state="open"] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="menu"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="menu"][data-part="item"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="menu"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="menu"][data-part="positioner"][data-positioned] {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
  transform: translate3d(var(--fandhe-x, 0px), var(--fandhe-y, 0px), 0);
}
[data-scope="select"][data-part="root"] {
  position: relative;
}

[data-scope="select"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="select"][data-part="control"] {
  display: inline-flex;
}

[data-scope="select"][data-part="trigger"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fandhe-space-2);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-select-trigger-padding, var(--fandhe-space-2) var(--fandhe-space-3));
  cursor: pointer;
}

[data-scope="select"][data-part="clear-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="select"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="select"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-select-content-padding, var(--fandhe-space-2));
  min-width: var(--fandhe-reference-width, auto);
}

[data-scope="select"][data-part="item-group-label"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="select"][data-part="item"] {
  padding: var(--fandhe-select-item-padding, var(--fandhe-space-2) var(--fandhe-space-3));
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="select"][data-part="hidden-select"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="select"][data-part="root"].fd-select--size-sm {
  --fandhe-select-trigger-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-select-item-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-select-content-padding: var(--fandhe-space-1);
}

[data-scope="select"][data-part="root"].fd-select--size-md {
  --fandhe-select-trigger-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-select-item-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-select-content-padding: var(--fandhe-space-2);
}

[data-scope="select"][data-part="root"].fd-select--size-lg {
  --fandhe-select-trigger-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-select-item-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-select-content-padding: var(--fandhe-space-3);
}

[data-scope="select"][data-part="trigger"][data-state="open"] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="select"][data-part="item"][data-state="open"] {
  background: var(--fandhe-color-bg-muted);
}

[data-scope="select"][data-part="item"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="select"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="select"][data-part="positioner"][data-positioned] {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
  transform: translate3d(var(--fandhe-x, 0px), var(--fandhe-y, 0px), 0);
}
[data-scope="listbox"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
}

[data-scope="listbox"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="listbox"][data-part="content"] {
  display: flex;
  flex-direction: column;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  overflow-y: auto;
  max-height: var(--fandhe-listbox-content-max-height, 16rem);
  padding: var(--fandhe-listbox-content-padding, var(--fandhe-space-2));
}

[data-scope="listbox"][data-part="item-group-label"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="listbox"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  padding: var(--fandhe-listbox-item-padding, var(--fandhe-space-2) var(--fandhe-space-3));
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="listbox"][data-part="item-text"] {
  flex: 1;
  min-width: 0;
}

[data-scope="listbox"][data-part="value-text"] {
  color: var(--fandhe-color-fg-muted);
}

[data-scope="listbox"][data-part="root"].fd-listbox--size-sm {
  --fandhe-listbox-item-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-listbox-content-padding: var(--fandhe-space-1);
  --fandhe-listbox-content-max-height: 12rem;
}

[data-scope="listbox"][data-part="root"].fd-listbox--size-md {
  --fandhe-listbox-item-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-listbox-content-padding: var(--fandhe-space-2);
  --fandhe-listbox-content-max-height: 16rem;
}

[data-scope="listbox"][data-part="root"].fd-listbox--size-lg {
  --fandhe-listbox-item-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-listbox-content-padding: var(--fandhe-space-3);
  --fandhe-listbox-content-max-height: 20rem;
}

[data-scope="listbox"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="listbox"][data-part="item"][data-state="open"] {
  background: var(--fandhe-color-bg-muted);
}

[data-scope="listbox"][data-part="item"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="listbox"][data-part="item"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="listbox"][data-part="content"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: -2px;
}
[data-scope="skeleton"][data-part="root"] {
  display: block;
  background: var(--fandhe-color-bg-subtle);
  animation: fd-skeleton-pulse 1.5s ease-in-out infinite;
}

[data-scope="skeleton"][data-part="root"].fd-skeleton--variant-text {
  width: 100%;
  height: 1em;
  border-radius: var(--fandhe-radius-sm);
}

[data-scope="skeleton"][data-part="root"].fd-skeleton--variant-circle {
  width: var(--fandhe-skeleton-size, 2.5rem);
  height: var(--fandhe-skeleton-size, 2.5rem);
  border-radius: var(--fandhe-radius-full);
}

[data-scope="skeleton"][data-part="root"].fd-skeleton--variant-rect {
  width: 100%;
  height: var(--fandhe-skeleton-height, 5rem);
  border-radius: var(--fandhe-radius-md);
}

@keyframes fd-skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-scope="skeleton"][data-part="root"] {
    animation: none;
  }
}
[data-scope="separator"][data-part="root"] {
  border-width: 0;
  border-color: var(--fandhe-color-border);
  margin: 0;
  flex-shrink: 0;
}

[data-scope="separator"][data-part="root"].fd-separator--orientation-horizontal {
  border-top-width: 1px;
  width: 100%;
}

[data-scope="separator"][data-part="root"].fd-separator--orientation-vertical {
  border-inline-start-width: 1px;
  align-self: stretch;
  height: var(--fandhe-separator-height, auto);
}

[data-scope="separator"][data-part="root"].fd-separator--variant-solid {
  border-style: solid;
}

[data-scope="separator"][data-part="root"].fd-separator--variant-dashed {
  border-style: dashed;
}
[data-scope="highlight"][data-part="mark"] {
  background: var(--fandhe-color-bg-subtle);
  color: inherit;
  padding-inline: 0.125rem;
  border-radius: var(--fandhe-radius-sm);
}
[data-scope="combobox"][data-part="root"] {
  position: relative;
}

[data-scope="combobox"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="combobox"][data-part="control"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-combobox-control-padding, var(--fandhe-space-1) var(--fandhe-space-2));
}

[data-scope="combobox"][data-part="input"] {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: var(--fandhe-combobox-input-padding, var(--fandhe-space-1) var(--fandhe-space-2));
}

[data-scope="combobox"][data-part="trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--fandhe-color-fg-muted);
  cursor: pointer;
}

[data-scope="combobox"][data-part="clear-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="combobox"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="combobox"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-combobox-content-padding, var(--fandhe-space-2));
  min-width: var(--fandhe-reference-width, auto);
}

[data-scope="combobox"][data-part="item-group-label"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="combobox"][data-part="item"] {
  padding: var(--fandhe-combobox-item-padding, var(--fandhe-space-2) var(--fandhe-space-3));
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="combobox"][data-part="root"].fd-combobox--size-sm {
  --fandhe-combobox-control-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-combobox-input-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-combobox-item-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-combobox-content-padding: var(--fandhe-space-1);
}

[data-scope="combobox"][data-part="root"].fd-combobox--size-md {
  --fandhe-combobox-control-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-combobox-input-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-combobox-item-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-combobox-content-padding: var(--fandhe-space-2);
}

[data-scope="combobox"][data-part="root"].fd-combobox--size-lg {
  --fandhe-combobox-control-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-combobox-input-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-combobox-item-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-combobox-content-padding: var(--fandhe-space-3);
}

[data-scope="combobox"][data-part="control"][data-state="open"] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="combobox"][data-part="item"][data-state="open"] {
  background: var(--fandhe-color-bg-muted);
}

[data-scope="combobox"][data-part="item"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="combobox"][data-part="input"]:focus-visible {
  outline: none;
}

[data-scope="combobox"][data-part="control"]:focus-within {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="combobox"][data-part="positioner"][data-positioned] {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
  transform: translate3d(var(--fandhe-x, 0px), var(--fandhe-y, 0px), 0);
}
[data-scope="popover"][data-part="root"] {
  position: relative;
}

[data-scope="popover"][data-part="trigger"] {
  cursor: pointer;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="popover"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="popover"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-4);
  min-width: var(--fandhe-reference-width, auto);
}

[data-scope="popover"][data-part="title"] {
  font-size: var(--fandhe-font-font-size-lg);
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0 0 var(--fandhe-space-2) 0;
}

[data-scope="popover"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
  margin: 0;
}

[data-scope="popover"][data-part="close-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="popover"][data-part="trigger"][data-state="open"] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="popover"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="popover"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="popover"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="floating-panel"][data-part="trigger"] {
  cursor: pointer;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="floating-panel"][data-part="positioner"] {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 900;
  transform: translate3d(var(--fandhe-x, 24px), var(--fandhe-y, 24px), 0);
}

[data-scope="floating-panel"][data-part="content"] {
  display: flex;
  flex-direction: column;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  min-width: 16rem;
}

[data-scope="floating-panel"][data-part="header"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fandhe-space-2);
  padding: var(--fandhe-space-3) var(--fandhe-space-4);
  border-bottom: 1px solid var(--fandhe-color-border);
  cursor: move;
}

[data-scope="floating-panel"][data-part="title"] {
  font-size: var(--fandhe-font-font-size-lg);
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0;
}

[data-scope="floating-panel"][data-part="control"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
}

[data-scope="floating-panel"][data-part="stage-trigger"] {
  cursor: pointer;
  background: none;
  border: none;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="floating-panel"][data-part="close-trigger"] {
  cursor: pointer;
  background: none;
  border: none;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="floating-panel"][data-part="body"] {
  padding: var(--fandhe-space-4);
}

[data-scope="floating-panel"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="floating-panel"][data-part="body"][data-stage="minimized"] {
  display: none;
}

[data-scope="floating-panel"][data-part="positioner"][data-stage="maximized"] {
  transform: none;
  inset: 0;
}

[data-scope="floating-panel"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="floating-panel"][data-part="stage-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="floating-panel"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="tooltip"][data-part="root"] {
  position: relative;
}

[data-scope="tooltip"][data-part="trigger"] {
  cursor: pointer;
}

[data-scope="tooltip"][data-part="positioner"] {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 1100;
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="tooltip"][data-part="content"] {
  background: var(--fandhe-color-fg);
  color: var(--fandhe-color-bg);
  font-size: var(--fandhe-font-font-size-sm);
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  max-width: 20rem;
}

[data-scope="tooltip"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="tooltip"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="hover-card"][data-part="root"] {
  position: relative;
}

[data-scope="hover-card"][data-part="trigger"] {
  color: var(--fandhe-color-accent);
  cursor: pointer;
  text-decoration: underline;
}

[data-scope="hover-card"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="hover-card"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-4);
  max-width: 20rem;
}

[data-scope="hover-card"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="hover-card"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="toggle-tip"][data-part="root"] {
  position: relative;
}

[data-scope="toggle-tip"][data-part="trigger"] {
  cursor: pointer;
}

[data-scope="toggle-tip"][data-part="positioner"] {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 1100;
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="toggle-tip"][data-part="content"] {
  background: var(--fandhe-color-fg);
  color: var(--fandhe-color-bg);
  font-size: var(--fandhe-font-font-size-sm);
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  max-width: 20rem;
}

[data-scope="toggle-tip"][data-part="content"][data-state="closed"] {
  visibility: hidden;
}

[data-scope="toggle-tip"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="switch"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  cursor: pointer;
}

[data-scope="switch"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  width: var(--fandhe-switch-track-width, 2.5rem);
  height: var(--fandhe-switch-track-height, 1.4rem);
  border-radius: 999px;
  background: var(--fandhe-color-border);
  padding: 0 0.15rem;
  transition: background 0.15s;
}

[data-scope="switch"][data-part="thumb"] {
  width: var(--fandhe-switch-thumb-size, 1.1rem);
  height: var(--fandhe-switch-thumb-size, 1.1rem);
  border-radius: 999px;
  background: var(--fandhe-color-bg);
  transition: transform 0.15s;
}

[data-scope="switch"][data-part="label"] {
  font-size: var(--fandhe-switch-label-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="switch"][data-part="hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="switch"][data-part="root"].fd-switch--size-sm {
  --fandhe-switch-track-width: 2rem;
  --fandhe-switch-track-height: 1.15rem;
  --fandhe-switch-thumb-size: 0.85rem;
  --fandhe-switch-thumb-travel: 0.85rem;
  --fandhe-switch-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="switch"][data-part="root"].fd-switch--size-md {
  --fandhe-switch-track-width: 2.5rem;
  --fandhe-switch-track-height: 1.4rem;
  --fandhe-switch-thumb-size: 1.1rem;
  --fandhe-switch-thumb-travel: 1.1rem;
  --fandhe-switch-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="switch"][data-part="root"].fd-switch--size-lg {
  --fandhe-switch-track-width: 3rem;
  --fandhe-switch-track-height: 1.65rem;
  --fandhe-switch-thumb-size: 1.35rem;
  --fandhe-switch-thumb-travel: 1.35rem;
  --fandhe-switch-label-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="switch"][data-part="root"].fd-switch--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="switch"][data-part="root"].fd-switch--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="switch"][data-part="root"].fd-switch--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="switch"][data-part="root"].fd-switch--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="switch"][data-part="root"].fd-switch--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="switch"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="switch"][data-part="control"][data-state="checked"] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="switch"][data-part="control"][data-focus-visible] {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="switch"][data-part="thumb"][data-state="checked"] {
  transform: translateX(var(--fandhe-switch-thumb-travel, 1.1rem));
}
[data-scope="radio-group"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="radio-group"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="radio-group"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  cursor: pointer;
}

[data-scope="radio-group"][data-part="item-control"] {
  display: inline-flex;
  width: var(--fandhe-radio-group-control-size, 1rem);
  height: var(--fandhe-radio-group-control-size, 1rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 50%;
  background: var(--fandhe-color-bg);
  flex-shrink: 0;
}

[data-scope="radio-group"][data-part="item-text"] {
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-radio-group-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="radio-group"][data-part="item-hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--size-sm {
  --fandhe-radio-group-control-size: 0.85rem;
  --fandhe-radio-group-dot-inset: 2px;
  --fandhe-radio-group-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--size-md {
  --fandhe-radio-group-control-size: 1rem;
  --fandhe-radio-group-dot-inset: 3px;
  --fandhe-radio-group-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--size-lg {
  --fandhe-radio-group-control-size: 1.25rem;
  --fandhe-radio-group-dot-inset: 4px;
  --fandhe-radio-group-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="radio-group"][data-part="root"].fd-radio-group--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="radio-group"][data-part="root"][data-orientation="horizontal"] {
  flex-direction: row;
}

[data-scope="radio-group"][data-part="item-control"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  box-shadow: inset 0 0 0 var(--fandhe-radio-group-dot-inset, 3px) var(--fandhe-color-bg);
}

[data-scope="radio-group"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="radio-group"][data-part="item"]:focus-within {
  outline: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  outline-offset: 2px;
}

[data-scope="radio-group"][data-part="item-control"][data-focus-visible] {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="avatar"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-color-fg);
  overflow: hidden;
  flex-shrink: 0;
  user-select: none;
}

[data-scope="avatar"][data-part="image"] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[data-scope="avatar"][data-part="fallback"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
  line-height: 1;
}

[data-scope="avatar"][data-part="root"].fd-avatar--size-sm {
  width: 2rem;
  height: 2rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="avatar"][data-part="root"].fd-avatar--size-md {
  width: 3rem;
  height: 3rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="avatar"][data-part="root"].fd-avatar--size-lg {
  width: 4rem;
  height: 4rem;
  font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="avatar"][data-part="root"].fd-avatar--shape-circle {
  border-radius: var(--fandhe-radius-full);
}

[data-scope="avatar"][data-part="root"].fd-avatar--shape-rounded {
  border-radius: var(--fandhe-radius-lg);
}

[data-scope="avatar"][data-part="root"].fd-avatar--shape-square {
  border-radius: 0;
}

[data-scope="avatar"][data-part="image"][data-state="hidden"] {
  display: none;
}

[data-scope="avatar"][data-part="fallback"][data-state="hidden"] {
  display: none;
}
[data-scope="checkbox"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  cursor: pointer;
}

[data-scope="checkbox"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--fandhe-checkbox-control-size, 1rem);
  height: var(--fandhe-checkbox-control-size, 1rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s;
}

[data-scope="checkbox"][data-part="indicator"] {
  width: var(--fandhe-checkbox-check-width, 0.25rem);
  height: var(--fandhe-checkbox-check-height, 0.5rem);
  border-right: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  border-bottom: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  transform: rotate(45deg);
  margin-bottom: 0.1rem;
}

[data-scope="checkbox"][data-part="label"] {
  font-size: var(--fandhe-checkbox-label-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="checkbox"][data-part="hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--size-sm {
  --fandhe-checkbox-control-size: 0.85rem;
  --fandhe-checkbox-check-width: 0.2rem;
  --fandhe-checkbox-check-height: 0.4rem;
  --fandhe-checkbox-dash-width: 0.4rem;
  --fandhe-checkbox-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--size-md {
  --fandhe-checkbox-control-size: 1rem;
  --fandhe-checkbox-check-width: 0.25rem;
  --fandhe-checkbox-check-height: 0.5rem;
  --fandhe-checkbox-dash-width: 0.5rem;
  --fandhe-checkbox-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--size-lg {
  --fandhe-checkbox-control-size: 1.25rem;
  --fandhe-checkbox-check-width: 0.3rem;
  --fandhe-checkbox-check-height: 0.6rem;
  --fandhe-checkbox-dash-width: 0.6rem;
  --fandhe-checkbox-label-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="checkbox"][data-part="root"].fd-checkbox--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="checkbox"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="checkbox"][data-part="control"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox"][data-part="control"][data-state="indeterminate"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox"][data-part="control"][data-focus-visible] {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="checkbox"][data-part="indicator"][data-state="indeterminate"] {
  transform: none;
  border-right: 0;
  border-bottom: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  width: var(--fandhe-checkbox-dash-width, 0.5rem);
  height: 0;
  margin-bottom: 0;
}
[data-scope="checkbox-card"][data-part="root"] {
  display: flex;
  align-items: flex-start;
  gap: var(--fandhe-space-2);
  cursor: pointer;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-lg);
  padding: var(--fandhe-checkbox-card-padding, 0.75rem);
  background: var(--fandhe-color-bg);
  transition: border-color 0.15s, box-shadow 0.15s;
}

[data-scope="checkbox-card"][data-part="control"] {
  display: flex;
  align-items: flex-start;
  gap: var(--fandhe-space-2);
  flex: 1;
}

[data-scope="checkbox-card"][data-part="content"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
  flex: 1;
}

[data-scope="checkbox-card"][data-part="label"] {
  font-size: var(--fandhe-checkbox-card-label-font-size, var(--fandhe-font-font-size-sm));
  font-weight: var(--fandhe-font-font-weight-medium);
  color: var(--fandhe-color-fg);
}

[data-scope="checkbox-card"][data-part="description"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="checkbox-card"][data-part="addon"] {
  display: flex;
}

[data-scope="checkbox-card"][data-part="indicator"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--fandhe-checkbox-card-control-size, 1rem);
  height: var(--fandhe-checkbox-card-control-size, 1rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s;
}

[data-scope="checkbox-card"][data-part="indicator-check"] {
  width: var(--fandhe-checkbox-card-check-width, 0.25rem);
  height: var(--fandhe-checkbox-card-check-height, 0.5rem);
  border-right: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  border-bottom: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  transform: rotate(45deg);
  margin-bottom: 0.1rem;
}

[data-scope="checkbox-card"][data-part="hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--size-sm {
  --fandhe-checkbox-card-padding: 0.5rem;
  --fandhe-checkbox-card-control-size: 0.85rem;
  --fandhe-checkbox-card-check-width: 0.2rem;
  --fandhe-checkbox-card-check-height: 0.4rem;
  --fandhe-checkbox-card-dash-width: 0.4rem;
  --fandhe-checkbox-card-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--size-md {
  --fandhe-checkbox-card-padding: 0.75rem;
  --fandhe-checkbox-card-control-size: 1rem;
  --fandhe-checkbox-card-check-width: 0.25rem;
  --fandhe-checkbox-card-check-height: 0.5rem;
  --fandhe-checkbox-card-dash-width: 0.5rem;
  --fandhe-checkbox-card-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--size-lg {
  --fandhe-checkbox-card-padding: 1rem;
  --fandhe-checkbox-card-control-size: 1.25rem;
  --fandhe-checkbox-card-check-width: 0.3rem;
  --fandhe-checkbox-card-check-height: 0.6rem;
  --fandhe-checkbox-card-dash-width: 0.6rem;
  --fandhe-checkbox-card-label-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="checkbox-card"][data-part="root"].fd-checkbox-card--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="checkbox-card"][data-part="root"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  box-shadow: 0 0 0 1px var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox-card"][data-part="root"][data-state="indeterminate"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  box-shadow: 0 0 0 1px var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox-card"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="checkbox-card"][data-part="root"]:focus-within {
  outline: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  outline-offset: 2px;
}

[data-scope="checkbox-card"][data-part="indicator"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox-card"][data-part="indicator"][data-state="indeterminate"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox-card"][data-part="indicator-check"][data-state="indeterminate"] {
  transform: none;
  border-right: 0;
  border-bottom: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  width: var(--fandhe-checkbox-card-dash-width, 0.5rem);
  height: 0;
  margin-bottom: 0;
}
[data-scope="checkbox-group"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="checkbox-group"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="checkbox-group"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  cursor: pointer;
}

[data-scope="checkbox-group"][data-part="item-control"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--fandhe-checkbox-group-control-size, 1rem);
  height: var(--fandhe-checkbox-group-control-size, 1rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s;
}

[data-scope="checkbox-group"][data-part="item-indicator"] {
  width: var(--fandhe-checkbox-group-check-width, 0.25rem);
  height: var(--fandhe-checkbox-group-check-height, 0.5rem);
  border-right: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  border-bottom: 2px solid var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  transform: rotate(45deg);
  margin-bottom: 0.1rem;
}

[data-scope="checkbox-group"][data-part="item-text"] {
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-checkbox-group-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--size-sm {
  --fandhe-checkbox-group-control-size: 0.85rem;
  --fandhe-checkbox-group-check-width: 0.2rem;
  --fandhe-checkbox-group-check-height: 0.4rem;
  --fandhe-checkbox-group-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--size-md {
  --fandhe-checkbox-group-control-size: 1rem;
  --fandhe-checkbox-group-check-width: 0.25rem;
  --fandhe-checkbox-group-check-height: 0.5rem;
  --fandhe-checkbox-group-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--size-lg {
  --fandhe-checkbox-group-control-size: 1.25rem;
  --fandhe-checkbox-group-check-width: 0.3rem;
  --fandhe-checkbox-group-check-height: 0.6rem;
  --fandhe-checkbox-group-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="checkbox-group"][data-part="root"].fd-checkbox-group--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="checkbox-group"][data-part="root"][data-orientation="horizontal"] {
  flex-direction: row;
}

[data-scope="checkbox-group"][data-part="item-control"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="checkbox-group"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="checkbox-group"][data-part="item"]:focus-within {
  outline: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  outline-offset: 2px;
}
[data-scope="radio-card"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
}

[data-scope="radio-card"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="radio-card"][data-part="item"] {
  display: flex;
  align-items: flex-start;
  gap: var(--fandhe-space-2);
  cursor: pointer;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-lg);
  padding: var(--fandhe-radio-card-padding, 0.75rem);
  background: var(--fandhe-color-bg);
  transition: border-color 0.15s, box-shadow 0.15s;
}

[data-scope="radio-card"][data-part="item-control"] {
  display: flex;
  align-items: flex-start;
  gap: var(--fandhe-space-2);
  flex: 1;
}

[data-scope="radio-card"][data-part="item-content"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
  flex: 1;
}

[data-scope="radio-card"][data-part="item-text"] {
  font-size: var(--fandhe-radio-card-label-font-size, var(--fandhe-font-font-size-sm));
  font-weight: var(--fandhe-font-font-weight-medium);
  color: var(--fandhe-color-fg);
}

[data-scope="radio-card"][data-part="item-description"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="radio-card"][data-part="item-addon"] {
  display: flex;
}

[data-scope="radio-card"][data-part="item-indicator"] {
  display: inline-flex;
  width: var(--fandhe-radio-card-control-size, 1rem);
  height: var(--fandhe-radio-card-control-size, 1rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 50%;
  background: var(--fandhe-color-bg);
  flex-shrink: 0;
}

[data-scope="radio-card"][data-part="item-hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--size-sm {
  --fandhe-radio-card-padding: 0.5rem;
  --fandhe-radio-card-control-size: 0.85rem;
  --fandhe-radio-card-dot-inset: 2px;
  --fandhe-radio-card-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--size-md {
  --fandhe-radio-card-padding: 0.75rem;
  --fandhe-radio-card-control-size: 1rem;
  --fandhe-radio-card-dot-inset: 3px;
  --fandhe-radio-card-label-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--size-lg {
  --fandhe-radio-card-padding: 1rem;
  --fandhe-radio-card-control-size: 1.25rem;
  --fandhe-radio-card-dot-inset: 4px;
  --fandhe-radio-card-label-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="radio-card"][data-part="root"].fd-radio-card--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="radio-card"][data-part="root"][data-orientation="horizontal"] {
  flex-direction: row;
}

[data-scope="radio-card"][data-part="item"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  box-shadow: 0 0 0 1px var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="radio-card"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="radio-card"][data-part="item"]:focus-within {
  outline: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  outline-offset: 2px;
}

[data-scope="radio-card"][data-part="item-indicator"][data-state="checked"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  box-shadow: inset 0 0 0 var(--fandhe-radio-card-dot-inset, 3px) var(--fandhe-color-bg);
}
[data-scope="field"][data-part="input"] {
  box-sizing: border-box;
  width: 100%;
  font: inherit;
  color: var(--fandhe-color-fg);
  background: var(--fandhe-color-bg);
  border-radius: var(--fandhe-radius-sm);
  transition: border-color 0.15s, background 0.15s;
}

[data-scope="field"][data-part="input"].fd-field--size-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="input"].fd-field--size-md {
  padding: 0.375rem 0.75rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="input"].fd-field--size-lg {
  padding: 0.5rem 1rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="field"][data-part="input"].fd-field--variant-outline {
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="field"][data-part="input"].fd-field--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  border: 1px solid transparent;
}

[data-scope="field"][data-part="input"].fd-field--variant-flushed {
  border: 0;
  border-bottom: 1px solid var(--fandhe-color-border);
  border-radius: 0;
}

[data-scope="field"][data-part="input"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="field"][data-part="input"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="field"][data-part="input"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="field"][data-part="textarea"] {
  box-sizing: border-box;
  width: 100%;
  font: inherit;
  color: var(--fandhe-color-fg);
  background: var(--fandhe-color-bg);
  border-radius: var(--fandhe-radius-sm);
  resize: vertical;
  transition: border-color 0.15s, background 0.15s;
}

[data-scope="field"][data-part="textarea"].fd-field--size-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="textarea"].fd-field--size-md {
  padding: 0.375rem 0.75rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="textarea"].fd-field--size-lg {
  padding: 0.5rem 1rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="field"][data-part="textarea"].fd-field--variant-outline {
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="field"][data-part="textarea"].fd-field--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  border: 1px solid transparent;
}

[data-scope="field"][data-part="textarea"].fd-field--variant-flushed {
  border: 0;
  border-bottom: 1px solid var(--fandhe-color-border);
  border-radius: 0;
}

[data-scope="field"][data-part="textarea"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="field"][data-part="textarea"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="field"][data-part="textarea"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="field"][data-part="textarea"][data-autoresize] {
  field-sizing: content;
  resize: none;
}
[data-scope="field"][data-part="select"] {
  box-sizing: border-box;
  width: 100%;
  font: inherit;
  color: var(--fandhe-color-fg);
  background: var(--fandhe-color-bg);
  border-radius: var(--fandhe-radius-sm);
  transition: border-color 0.15s, background 0.15s;
}

[data-scope="field"][data-part="select"].fd-field--size-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="select"].fd-field--size-md {
  padding: 0.375rem 0.75rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="field"][data-part="select"].fd-field--size-lg {
  padding: 0.5rem 1rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="field"][data-part="select"].fd-field--variant-outline {
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="field"][data-part="select"].fd-field--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  border: 1px solid transparent;
}

[data-scope="field"][data-part="select"].fd-field--variant-plain {
  background: transparent;
  border: 1px solid transparent;
}

[data-scope="field"][data-part="select"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="field"][data-part="select"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="field"][data-part="select"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="number-input"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="number-input"][data-part="label"] {
  font-size: var(--fandhe-number-input-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="number-input"][data-part="control"] {
  position: relative;
  display: inline-flex;
  align-items: center;
}

[data-scope="number-input"][data-part="input"] {
  box-sizing: border-box;
  width: 100%;
  height: var(--fandhe-number-input-control-height, 2.5rem);
  padding: 0 var(--fandhe-number-input-trigger-size, 1.5rem) 0 var(--fandhe-space-2);
  font-size: var(--fandhe-number-input-font-size, var(--fandhe-font-font-size-sm));
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md, 0.375rem);
  background: var(--fandhe-color-bg);
}

[data-scope="number-input"][data-part="increment-trigger"] {
  position: absolute;
  right: 1px;
  top: 1px;
  width: var(--fandhe-number-input-trigger-size, 1.5rem);
  height: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}

[data-scope="number-input"][data-part="decrement-trigger"] {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: var(--fandhe-number-input-trigger-size, 1.5rem);
  height: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}

[data-scope="number-input"][data-part="root"].fd-number-input--size-sm {
  --fandhe-number-input-control-height: 2rem;
  --fandhe-number-input-font-size: var(--fandhe-font-font-size-sm);
  --fandhe-number-input-trigger-size: 1.25rem;
}

[data-scope="number-input"][data-part="root"].fd-number-input--size-md {
  --fandhe-number-input-control-height: 2.5rem;
  --fandhe-number-input-font-size: var(--fandhe-font-font-size-sm);
  --fandhe-number-input-trigger-size: 1.5rem;
}

[data-scope="number-input"][data-part="root"].fd-number-input--size-lg {
  --fandhe-number-input-control-height: 3rem;
  --fandhe-number-input-font-size: var(--fandhe-font-font-size-md);
  --fandhe-number-input-trigger-size: 1.75rem;
}

[data-scope="number-input"][data-part="root"][data-disabled] {
  opacity: 0.5;
}

[data-scope="number-input"][data-part="input"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="number-input"][data-part="input"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="number-input"][data-part="increment-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-scope="number-input"][data-part="decrement-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}
[data-scope="password-input"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="password-input"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="password-input"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: var(--fandhe-password-input-height, 2.5rem);
  padding: 0 var(--fandhe-password-input-padding-x, 0.75rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  background: var(--fandhe-color-bg);
  transition: border-color 0.15s;
}

[data-scope="password-input"][data-part="input"] {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  color: var(--fandhe-color-fg);
  padding: 0;
  font-size: var(--fandhe-password-input-font-size, var(--fandhe-font-font-size-md));
}

[data-scope="password-input"][data-part="visibility-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
  padding: 0 0 0 var(--fandhe-space-2);
}

[data-scope="password-input"][data-part="indicator"] {
  display: inline-flex;
  align-items: center;
}

[data-scope="password-input"][data-part="root"].fd-password-input--size-sm {
  --fandhe-password-input-height: 2rem;
  --fandhe-password-input-padding-x: 0.5rem;
  --fandhe-password-input-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="password-input"][data-part="root"].fd-password-input--size-md {
  --fandhe-password-input-height: 2.5rem;
  --fandhe-password-input-padding-x: 0.75rem;
  --fandhe-password-input-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="password-input"][data-part="root"].fd-password-input--size-lg {
  --fandhe-password-input-height: 3rem;
  --fandhe-password-input-padding-x: 1rem;
  --fandhe-password-input-font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="password-input"][data-part="root"].fd-password-input--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="password-input"][data-part="root"].fd-password-input--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="password-input"][data-part="root"].fd-password-input--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="password-input"][data-part="root"].fd-password-input--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="password-input"][data-part="root"].fd-password-input--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="password-input"][data-part="control"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="password-input"][data-part="control"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="password-input"][data-part="control"]:focus-within {
  outline: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  outline-offset: 2px;
}

[data-scope="password-input"][data-part="visibility-trigger"][data-state="visible"] {
  color: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="password-input"][data-part="visibility-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}
[data-scope="tags-input"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
}

[data-scope="tags-input"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="tags-input"][data-part="control"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fandhe-space-2);
  box-sizing: border-box;
  padding: var(--fandhe-space-2);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
}

[data-scope="tags-input"][data-part="input"] {
  flex: 1 1 auto;
  min-width: var(--fandhe-tags-input-input-min-width, 6rem);
  box-sizing: border-box;
  border: none;
  outline: none;
  background: transparent;
  font-size: var(--fandhe-tags-input-font-size, var(--fandhe-font-font-size-sm));
  color: var(--fandhe-color-fg);
}

[data-scope="tags-input"][data-part="item-preview"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  font-size: var(--fandhe-tags-input-font-size, var(--fandhe-font-font-size-sm));
  padding: var(--fandhe-tags-input-chip-padding-y, 0.125rem) var(--fandhe-tags-input-chip-padding-x, 0.5rem);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-color-fg);
}

[data-scope="tags-input"][data-part="item-text"] {
  white-space: nowrap;
}

[data-scope="tags-input"][data-part="item-delete-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: none;
  border-radius: var(--fandhe-radius-sm);
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
}

[data-scope="tags-input"][data-part="clear-trigger"] {
  align-self: flex-start;
  border: none;
  background: transparent;
  color: var(--fandhe-color-fg-muted);
  cursor: pointer;
  font-size: var(--fandhe-tags-input-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="tags-input"][data-part="root"].fd-tags-input--size-sm {
  --fandhe-tags-input-font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="tags-input"][data-part="root"].fd-tags-input--size-md {
  --fandhe-tags-input-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="tags-input"][data-part="root"].fd-tags-input--size-lg {
  --fandhe-tags-input-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="tags-input"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="tags-input"][data-part="control"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="tags-input"][data-part="item-preview"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="tags-input"][data-part="item-delete-trigger"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="tags-input"][data-part="input"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="tags-input"][data-part="input"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="tags-input"][data-part="clear-trigger"][data-disabled] {
  cursor: not-allowed;
}
[data-scope="file-upload"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
}

[data-scope="file-upload"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="file-upload"][data-part="dropzone"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: var(--fandhe-file-upload-dropzone-padding, var(--fandhe-space-6));
  gap: var(--fandhe-space-2);
  border: 2px dashed var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  cursor: pointer;
}

[data-scope="file-upload"][data-part="trigger"] {
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-color-fg);
  cursor: pointer;
  font-size: var(--fandhe-file-upload-font-size, var(--fandhe-font-font-size-sm));
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
}

[data-scope="file-upload"][data-part="item-group"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
  padding: 0;
  margin: 0;
  list-style: none;
}

[data-scope="file-upload"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  box-sizing: border-box;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg-subtle);
  font-size: var(--fandhe-file-upload-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="file-upload"][data-part="item-name"] {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--fandhe-color-fg);
}

[data-scope="file-upload"][data-part="item-size-text"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="file-upload"][data-part="item-delete-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: none;
  border-radius: var(--fandhe-radius-sm);
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
}

[data-scope="file-upload"][data-part="clear-trigger"] {
  align-self: flex-start;
  border: none;
  background: transparent;
  color: var(--fandhe-color-fg-muted);
  cursor: pointer;
  font-size: var(--fandhe-file-upload-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="file-upload"][data-part="root"].fd-file-upload--size-sm {
  --fandhe-file-upload-font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="file-upload"][data-part="root"].fd-file-upload--size-md {
  --fandhe-file-upload-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="file-upload"][data-part="root"].fd-file-upload--size-lg {
  --fandhe-file-upload-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="file-upload"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="file-upload"][data-part="dropzone"][data-dragging] {
  border-color: var(--fandhe-color-accent);
  background: var(--fandhe-color-bg-subtle);
}

[data-scope="file-upload"][data-part="dropzone"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="file-upload"][data-part="dropzone"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="file-upload"][data-part="trigger"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="file-upload"][data-part="item-delete-trigger"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="file-upload"][data-part="clear-trigger"][data-disabled] {
  cursor: not-allowed;
}
[data-scope="rating-group"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
}

[data-scope="rating-group"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="rating-group"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-1);
}

[data-scope="rating-group"][data-part="item"] {
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  width: var(--fandhe-rating-group-item-size, 1.25rem);
  height: var(--fandhe-rating-group-item-size, 1.25rem);
  display: inline-block;
  background: var(--fandhe-color-border);
  cursor: pointer;
  flex-shrink: 0;
}

[data-scope="rating-group"][data-part="hidden-input"] {
  display: none;
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--size-sm {
  --fandhe-rating-group-item-size: 1rem;
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--size-md {
  --fandhe-rating-group-item-size: 1.25rem;
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--size-lg {
  --fandhe-rating-group-item-size: 1.5rem;
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="rating-group"][data-part="root"].fd-rating-group--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="rating-group"][data-part="item"][data-highlighted] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="rating-group"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="rating-group"][data-part="item"][data-readonly] {
  cursor: default;
}
[data-scope="slider"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="slider"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="slider"][data-part="control"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: var(--fandhe-slider-track-length, 12rem);
}

[data-scope="slider"][data-part="track"] {
  position: relative;
  width: 100%;
  height: var(--fandhe-slider-track-height, 0.375rem);
  border-radius: 999px;
  background: var(--fandhe-color-border);
}

[data-scope="slider"][data-part="range"] {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: var(--fandhe-slider-percent, 0%);
  border-radius: 999px;
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="slider"][data-part="thumb"] {
  position: absolute;
  top: 50%;
  left: var(--fandhe-slider-percent, 0%);
  transform: translate(-50%, -50%);
  width: var(--fandhe-slider-thumb-size, 1.1rem);
  height: var(--fandhe-slider-thumb-size, 1.1rem);
  border-radius: 999px;
  background: var(--fandhe-color-bg);
  border: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
  box-sizing: border-box;
  cursor: pointer;
}

[data-scope="slider"][data-part="root"].fd-slider--size-sm {
  --fandhe-slider-track-height: 0.25rem;
  --fandhe-slider-thumb-size: 0.85rem;
}

[data-scope="slider"][data-part="root"].fd-slider--size-md {
  --fandhe-slider-track-height: 0.375rem;
  --fandhe-slider-thumb-size: 1.1rem;
}

[data-scope="slider"][data-part="root"].fd-slider--size-lg {
  --fandhe-slider-track-height: 0.5rem;
  --fandhe-slider-thumb-size: 1.35rem;
}

[data-scope="slider"][data-part="root"].fd-slider--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="slider"][data-part="root"].fd-slider--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="slider"][data-part="root"].fd-slider--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="slider"][data-part="root"].fd-slider--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="slider"][data-part="root"].fd-slider--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="slider"][data-part="root"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="slider"][data-part="control"][data-orientation="vertical"] {
  width: auto;
  height: var(--fandhe-slider-track-length, 12rem);
}

[data-scope="slider"][data-part="track"][data-orientation="vertical"] {
  width: var(--fandhe-slider-track-height, 0.375rem);
  height: 100%;
}

[data-scope="slider"][data-part="range"][data-orientation="vertical"] {
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--fandhe-slider-percent, 0%);
}

[data-scope="slider"][data-part="thumb"][data-orientation="vertical"] {
  top: var(--fandhe-slider-percent, 0%);
  left: 50%;
  bottom: auto;
}

[data-scope="slider"][data-part="thumb"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="slider"][data-part="thumb"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="editable"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="editable"][data-part="label"] {
  font-size: var(--fandhe-editable-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="editable"][data-part="area"] {
  position: relative;
  display: inline-grid;
}

[data-scope="editable"][data-part="input"] {
  grid-area: 1 / 1;
  box-sizing: border-box;
  width: 100%;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  font-size: var(--fandhe-editable-font-size, var(--fandhe-font-font-size-sm));
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md, 0.375rem);
  background: var(--fandhe-color-bg);
}

[data-scope="editable"][data-part="preview"] {
  grid-area: 1 / 1;
  display: inline-block;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  font-size: var(--fandhe-editable-font-size, var(--fandhe-font-font-size-sm));
  border: 1px solid transparent;
  border-radius: var(--fandhe-radius-md, 0.375rem);
  cursor: text;
}

[data-scope="editable"][data-part="control"] {
  display: inline-flex;
  gap: var(--fandhe-space-1);
}

[data-scope="editable"][data-part="edit-trigger"] {
  border: none;
  background: transparent;
  cursor: pointer;
}

[data-scope="editable"][data-part="submit-trigger"] {
  border: none;
  background: transparent;
  cursor: pointer;
}

[data-scope="editable"][data-part="cancel-trigger"] {
  border: none;
  background: transparent;
  cursor: pointer;
}

[data-scope="editable"][data-part="root"].fd-editable--size-sm {
  --fandhe-editable-font-size: var(--fandhe-font-font-size-xs, 0.75rem);
}

[data-scope="editable"][data-part="root"].fd-editable--size-md {
  --fandhe-editable-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="editable"][data-part="root"].fd-editable--size-lg {
  --fandhe-editable-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="editable"][data-part="root"][data-disabled] {
  opacity: 0.5;
}

[data-scope="editable"][data-part="input"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="editable"][data-part="preview"][hidden] {
  display: none;
}

[data-scope="editable"][data-part="preview"][data-placeholder-shown] {
  color: var(--fandhe-color-fg-muted, currentColor);
}

[data-scope="editable"][data-part="edit-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-scope="editable"][data-part="submit-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-scope="editable"][data-part="cancel-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}
[data-scope="segment-group"][data-part="root"] {
  position: relative;
  display: inline-flex;
  background: var(--fandhe-color-bg-muted);
  border-radius: var(--fandhe-radius-md, 0.375rem);
  padding: var(--fandhe-space-1, 0.25rem);
}

[data-scope="segment-group"][data-part="indicator"] {
  position: absolute;
  z-index: 0;
  top: var(--fandhe-space-1, 0.25rem);
  left: var(--fandhe-space-1, 0.25rem);
  width: calc(100% / var(--fandhe-segment-group-count, 1) - var(--fandhe-space-1, 0.25rem));
  height: calc(100% - 2 * var(--fandhe-space-1, 0.25rem));
  transform: translateX(calc(100% * var(--fandhe-segment-group-index, 0)));
  transition: transform 0.15s ease;
  background: var(--fandhe-color-bg);
  border-radius: var(--fandhe-radius-sm, 0.25rem);
  box-shadow: var(--fandhe-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.1));
}

[data-scope="segment-group"][data-part="item"] {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding-block: var(--fandhe-segment-group-padding-block, 0.375rem);
  padding-inline: var(--fandhe-segment-group-padding-inline, 0.75rem);
}

[data-scope="segment-group"][data-part="item-control"] {
  display: contents;
}

[data-scope="segment-group"][data-part="item-text"] {
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-segment-group-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="segment-group"][data-part="item-hidden-input"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-scope="segment-group"][data-part="root"].fd-segment-group--size-sm {
  --fandhe-segment-group-font-size: var(--fandhe-font-font-size-sm);
  --fandhe-segment-group-padding-block: 0.25rem;
  --fandhe-segment-group-padding-inline: 0.5rem;
}

[data-scope="segment-group"][data-part="root"].fd-segment-group--size-md {
  --fandhe-segment-group-font-size: var(--fandhe-font-font-size-sm);
  --fandhe-segment-group-padding-block: 0.375rem;
  --fandhe-segment-group-padding-inline: 0.75rem;
}

[data-scope="segment-group"][data-part="root"].fd-segment-group--size-lg {
  --fandhe-segment-group-font-size: var(--fandhe-font-font-size-md);
  --fandhe-segment-group-padding-block: 0.5rem;
  --fandhe-segment-group-padding-inline: 1rem;
}

[data-scope="segment-group"][data-part="root"][data-disabled] {
  opacity: 0.5;
}

[data-scope="segment-group"][data-part="root"][data-orientation="vertical"] {
  flex-direction: column;
}

[data-scope="segment-group"][data-part="indicator"][data-state="unchecked"] {
  display: none;
}

[data-scope="segment-group"][data-part="indicator"][data-orientation="vertical"] {
  width: calc(100% - 2 * var(--fandhe-space-1, 0.25rem));
  height: calc(100% / var(--fandhe-segment-group-count, 1) - var(--fandhe-space-1, 0.25rem));
  transform: translateY(calc(100% * var(--fandhe-segment-group-index, 0)));
}

[data-scope="segment-group"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="segment-group"][data-part="item"]:focus-within {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="segment-group"][data-part="item-control"][data-focus-visible] {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="segment-group"][data-part="item-text"][data-state="checked"] {
  font-weight: 600;
  color: var(--fandhe-color-accent);
}
[data-scope="tree-view"][data-part="tree"] {
  display: flex;
  flex-direction: column;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="tree-view"][data-part="branch-control"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="tree-view"][data-part="branch-indicator"] {
  display: inline-block;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="tree-view"][data-part="branch-text"] {
  color: var(--fandhe-color-fg);
}

[data-scope="tree-view"][data-part="branch-content"] {
  display: flex;
  padding-inline-start: var(--fandhe-tree-view-indent, 1rem);
}

[data-scope="tree-view"][data-part="branch-indent-guide"] {
  border-inline-start: 1px solid var(--fandhe-color-border-muted);
  margin-inline-start: calc(var(--fandhe-tree-view-indent, 1rem) / 2);
  flex: 0 0 auto;
}

[data-scope="tree-view"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="tree-view"][data-part="item-indicator"] {
  color: var(--fandhe-color-accent);
}

[data-scope="tree-view"][data-part="branch-indicator"][data-state="open"] {
  transform: rotate(90deg);
}

[data-scope="tree-view"][data-part="branch-content"][hidden] {
  display: none;
}

[data-scope="tree-view"][data-part="branch-control"][data-selected] {
  background: var(--fandhe-color-accent-subtle);
  color: var(--fandhe-color-accent);
}

[data-scope="tree-view"][data-part="item"][data-selected] {
  background: var(--fandhe-color-accent-subtle);
  color: var(--fandhe-color-accent);
}

[data-scope="tree-view"][data-part="branch-control"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[data-scope="tree-view"][data-part="item"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[data-scope="tree-view"][data-part="branch-control"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="tree-view"][data-part="item"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="json-tree-view"][data-part="key"] {
  color: var(--fandhe-color-fg);
}

[data-scope="json-tree-view"][data-part="value"] {
  color: var(--fandhe-color-fg-muted);
}

[data-scope="json-tree-view"][data-part="value"][data-kind="string"] {
  color: var(--fandhe-color-success);
}

[data-scope="json-tree-view"][data-part="value"][data-kind="number"] {
  color: var(--fandhe-color-info);
}

[data-scope="json-tree-view"][data-part="value"][data-kind="bool"] {
  color: var(--fandhe-color-warning);
}

[data-scope="json-tree-view"][data-part="value"][data-kind="null"] {
  color: var(--fandhe-color-fg-muted);
}
[data-scope="pagination"][data-part="root"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
}

[data-scope="pagination"][data-part="item"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--fandhe-pagination-item-size, 2rem);
  height: var(--fandhe-pagination-item-size, 2rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-pagination-item-font-size, var(--fandhe-font-font-size-sm));
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

[data-scope="pagination"][data-part="ellipsis"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--fandhe-pagination-item-size, 2rem);
  height: var(--fandhe-pagination-item-size, 2rem);
  color: var(--fandhe-color-fg);
  opacity: 0.6;
}

[data-scope="pagination"][data-part="prev-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--fandhe-pagination-item-size, 2rem);
  height: var(--fandhe-pagination-item-size, 2rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-pagination-item-font-size, var(--fandhe-font-font-size-sm));
  text-decoration: none;
  cursor: pointer;
}

[data-scope="pagination"][data-part="next-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--fandhe-pagination-item-size, 2rem);
  height: var(--fandhe-pagination-item-size, 2rem);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-pagination-item-font-size, var(--fandhe-font-font-size-sm));
  text-decoration: none;
  cursor: pointer;
}

[data-scope="pagination"][data-part="root"].fd-pagination--size-sm {
  --fandhe-pagination-item-size: 1.5rem;
  --fandhe-pagination-item-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="pagination"][data-part="root"].fd-pagination--size-md {
  --fandhe-pagination-item-size: 2rem;
  --fandhe-pagination-item-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="pagination"][data-part="root"].fd-pagination--size-lg {
  --fandhe-pagination-item-size: 2.5rem;
  --fandhe-pagination-item-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="pagination"][data-part="root"].fd-pagination--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="pagination"][data-part="root"].fd-pagination--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="pagination"][data-part="root"].fd-pagination--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="pagination"][data-part="root"].fd-pagination--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="pagination"][data-part="root"].fd-pagination--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="pagination"][data-part="item"][data-selected] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-palette-fg);
}

[data-scope="pagination"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="pagination"][data-part="prev-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="pagination"][data-part="next-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="pagination"][data-part="item"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="pagination"][data-part="prev-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="pagination"][data-part="next-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="steps"][data-part="root"] {
  display: flex;
  flex-direction: column;
}

[data-scope="steps"][data-part="list"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--fandhe-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-scope="steps"][data-part="item"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  flex: 1;
}

[data-scope="steps"][data-part="trigger"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
}

[data-scope="steps"][data-part="indicator"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--fandhe-steps-indicator-size, 2rem);
  height: var(--fandhe-steps-indicator-size, 2rem);
  border-radius: 999px;
  border: 2px solid var(--fandhe-color-border);
  color: var(--fandhe-color-fg);
  flex-shrink: 0;
}

[data-scope="steps"][data-part="separator"] {
  flex: 1;
  height: 2px;
  background: var(--fandhe-color-border);
}

[data-scope="steps"][data-part="prev-trigger"] {
  cursor: pointer;
  font: inherit;
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
}

[data-scope="steps"][data-part="next-trigger"] {
  cursor: pointer;
  font: inherit;
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-color-bg);
}

[data-scope="steps"][data-part="root"].fd-steps--size-sm {
  --fandhe-steps-indicator-size: 1.5rem;
}

[data-scope="steps"][data-part="root"].fd-steps--size-md {
  --fandhe-steps-indicator-size: 2rem;
}

[data-scope="steps"][data-part="root"].fd-steps--size-lg {
  --fandhe-steps-indicator-size: 2.5rem;
}

[data-scope="steps"][data-part="root"].fd-steps--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="steps"][data-part="root"].fd-steps--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="steps"][data-part="root"].fd-steps--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="steps"][data-part="root"].fd-steps--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="steps"][data-part="root"].fd-steps--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="steps"][data-part="list"][data-orientation="vertical"] {
  flex-direction: column;
  align-items: stretch;
}

[data-scope="steps"][data-part="item"][data-orientation="vertical"] {
  flex-direction: column;
  align-items: flex-start;
  min-height: var(--fandhe-steps-connector-min-height, 2.5rem);
}

[data-scope="steps"][data-part="item"]:last-child {
  flex: none;
  min-height: auto;
}

[data-scope="steps"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="steps"][data-part="indicator"][data-state="current"] {
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="steps"][data-part="indicator"][data-state="complete"] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-color-bg);
}

[data-scope="steps"][data-part="separator"][data-orientation="vertical"] {
  width: 2px;
  height: auto;
  align-self: stretch;
  margin-left: calc(var(--fandhe-steps-indicator-size, 2rem) / 2 - 1px);
}

[data-scope="steps"][data-part="separator"][data-complete] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="steps"][data-part="content"][data-state="closed"] {
  display: none;
}

[data-scope="steps"][data-part="completed-content"][data-state="closed"] {
  display: none;
}

[data-scope="steps"][data-part="prev-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="steps"][data-part="prev-trigger"][disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="steps"][data-part="next-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="steps"][data-part="next-trigger"][disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-scope="breadcrumb"][data-part="list"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--fandhe-breadcrumb-font-size, var(--fandhe-font-font-size-md));
}

[data-scope="breadcrumb"][data-part="item"] {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

[data-scope="breadcrumb"][data-part="link"] {
  color: var(--fandhe-color-fg-muted);
  text-decoration: var(--fandhe-breadcrumb-link-text-decoration, none);
}

[data-scope="breadcrumb"][data-part="current-link"] {
  color: var(--fandhe-color-fg);
  font-weight: var(--fandhe-font-font-weight-medium);
}

[data-scope="breadcrumb"][data-part="separator"] {
  display: inline-flex;
  align-items: center;
  color: var(--fandhe-color-fg-subtle);
}

[data-scope="breadcrumb"][data-part="ellipsis"] {
  display: inline-flex;
  align-items: center;
  color: var(--fandhe-color-fg-subtle);
}

[data-scope="breadcrumb"][data-part="root"].fd-breadcrumb--size-sm {
  --fandhe-breadcrumb-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="breadcrumb"][data-part="root"].fd-breadcrumb--size-md {
  --fandhe-breadcrumb-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="breadcrumb"][data-part="root"].fd-breadcrumb--size-lg {
  --fandhe-breadcrumb-font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="breadcrumb"][data-part="root"].fd-breadcrumb--variant-plain {
  --fandhe-breadcrumb-link-text-decoration: none;
}

[data-scope="breadcrumb"][data-part="root"].fd-breadcrumb--variant-underline {
  --fandhe-breadcrumb-link-text-decoration: underline;
}
[data-scope="carousel"][data-part="root"] {
  position: relative;
  overflow: hidden;
}

[data-scope="carousel"][data-part="control"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="carousel"][data-part="prev-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 9999px;
  cursor: pointer;
  width: var(--fandhe-carousel-trigger-size, 2.5rem);
  height: var(--fandhe-carousel-trigger-size, 2.5rem);
}

[data-scope="carousel"][data-part="next-trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 9999px;
  cursor: pointer;
  width: var(--fandhe-carousel-trigger-size, 2.5rem);
  height: var(--fandhe-carousel-trigger-size, 2.5rem);
}

[data-scope="carousel"][data-part="item-group"] {
  display: flex;
  flex: 1;
  transition: transform var(--fandhe-carousel-transition-duration, 0.2s) ease;
  transform: translateX(calc(var(--fandhe-carousel-index, 0) * -100%));
}

[data-scope="carousel"][data-part="item"] {
  flex: 0 0 100%;
}

[data-scope="carousel"][data-part="indicator-group"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--fandhe-space-2);
}

[data-scope="carousel"][data-part="indicator"] {
  display: inline-block;
  background: var(--fandhe-color-bg-muted);
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  width: var(--fandhe-carousel-indicator-size, 0.5rem);
  height: var(--fandhe-carousel-indicator-size, 0.5rem);
}

[data-scope="carousel"][data-part="root"].fd-carousel--size-sm {
  --fandhe-carousel-trigger-size: 2rem;
  --fandhe-carousel-indicator-size: 0.375rem;
}

[data-scope="carousel"][data-part="root"].fd-carousel--size-md {
  --fandhe-carousel-trigger-size: 2.5rem;
  --fandhe-carousel-indicator-size: 0.5rem;
}

[data-scope="carousel"][data-part="root"].fd-carousel--size-lg {
  --fandhe-carousel-trigger-size: 3rem;
  --fandhe-carousel-indicator-size: 0.625rem;
}

[data-scope="carousel"][data-part="item-group"][data-orientation="vertical"] {
  transform: translateY(calc(var(--fandhe-carousel-index, 0) * -100%));
}

[data-scope="carousel"][data-part="prev-trigger"][data-disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

[data-scope="carousel"][data-part="next-trigger"][data-disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

[data-scope="carousel"][data-part="prev-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="carousel"][data-part="next-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="carousel"][data-part="indicator"][data-current] {
  background: var(--fandhe-color-accent);
}

[data-scope="carousel"][data-part="indicator"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="action-bar"][data-part="positioner"] {
  position: fixed;
  bottom: var(--fandhe-space-4);
  left: 50%;
  transform: translateX(-50%);
  z-index: 900;
  display: flex;
  justify-content: center;
}

[data-scope="action-bar"][data-part="content"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-3);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-3) var(--fandhe-space-4);
}

[data-scope="action-bar"][data-part="selection-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg);
}

[data-scope="action-bar"][data-part="separator"] {
  width: 1px;
  align-self: stretch;
  background: var(--fandhe-color-border);
}

[data-scope="action-bar"][data-part="close-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="action-bar"][data-part="content"][data-state="open"] {
  opacity: 1;
}

[data-scope="action-bar"][data-part="content"][data-state="closed"] {
  opacity: 0;
}

[data-scope="action-bar"][data-part="positioner"][hidden] {
  display: none;
}

[data-scope="action-bar"][data-part="selection-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="action-bar"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="toast"][data-part="group"] {
  position: fixed;
  z-index: var(--fandhe-z-index-toast, 9999);
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
  padding: var(--fandhe-space-4);
  pointer-events: none;
}

[data-scope="toast"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
  min-width: 18rem;
  padding: var(--fandhe-space-3);
  border-radius: var(--fandhe-radius-md);
  box-shadow: var(--fandhe-shadow-md);
  pointer-events: auto;
  background: var(--fandhe-color-bg);
}

[data-scope="toast"][data-part="title"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
}

[data-scope="toast"][data-part="description"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="toast"][data-part="close-trigger"] {
  cursor: pointer;
  align-self: flex-end;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-top-start {
  top: 0;
  inset-inline-start: 0;
  align-items: flex-start;
  flex-direction: column-reverse;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
  flex-direction: column-reverse;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-top-end {
  top: 0;
  inset-inline-end: 0;
  align-items: flex-end;
  flex-direction: column-reverse;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-bottom-start {
  bottom: 0;
  inset-inline-start: 0;
  align-items: flex-start;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}

[data-scope="toast"][data-part="group"].fd-toast--placement-bottom-end {
  bottom: 0;
  inset-inline-end: 0;
  align-items: flex-end;
}

[data-scope="toast"][data-part="root"].fd-toast--status-info {
  --fandhe-palette: var(--fandhe-color-info);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-palette);
}

[data-scope="toast"][data-part="root"].fd-toast--status-success {
  --fandhe-palette: var(--fandhe-color-success);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-palette);
}

[data-scope="toast"][data-part="root"].fd-toast--status-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-palette);
}

[data-scope="toast"][data-part="root"].fd-toast--status-error {
  --fandhe-palette: var(--fandhe-color-danger);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-palette);
}
[data-scope="progress"][data-part="label"] {
  color: var(--fandhe-color-fg);
}

[data-scope="progress"][data-part="value-text"] {
  color: var(--fandhe-color-fg-muted);
  font-variant-numeric: tabular-nums;
}

[data-scope="progress"][data-part="circle"] {
  --size: var(--fandhe-progress-size, 3rem);
  --thickness: var(--fandhe-progress-thickness, 0.25rem);
  transform-origin: center;
}

[data-scope="progress"][data-part="circle-track"] {
  stroke: var(--fandhe-color-border);
}

[data-scope="progress"][data-part="circle-range"] {
  stroke: var(--fandhe-palette, var(--fandhe-color-accent));
  stroke-linecap: round;
  transition: stroke-dashoffset 0.2s ease;
}

[data-scope="progress"][data-part="root"].fd-progress--size-sm {
  --fandhe-progress-size: 2rem;
  --fandhe-progress-thickness: 0.2rem;
}

[data-scope="progress"][data-part="root"].fd-progress--size-md {
  --fandhe-progress-size: 3rem;
  --fandhe-progress-thickness: 0.25rem;
}

[data-scope="progress"][data-part="root"].fd-progress--size-lg {
  --fandhe-progress-size: 4rem;
  --fandhe-progress-thickness: 0.3rem;
}

[data-scope="progress"][data-part="circle"][data-state="indeterminate"] {
  animation: fd-progress-circle-spin 1s linear infinite;
}

@keyframes fd-progress-circle-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
[data-scope="tag"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  border-radius: var(--fandhe-radius-sm);
  font-weight: var(--fandhe-font-font-weight-medium);
}

[data-scope="tag"][data-part="label"] {
  display: inline-flex;
  align-items: center;
}

[data-scope="tag"][data-part="close-trigger"] {
  display: inline-flex;
  align-items: center;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: inherit;
}

[data-scope="tag"][data-part="root"].fd-tag--size-sm {
  padding: 0.0625rem 0.375rem;
  font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="tag"][data-part="root"].fd-tag--size-md {
  padding: 0.125rem 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="tag"][data-part="root"].fd-tag--size-lg {
  padding: 0.25rem 0.625rem;
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="tag"][data-part="root"].fd-tag--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
}

[data-scope="tag"][data-part="root"].fd-tag--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="tag"][data-part="root"].fd-tag--variant-outline {
  background: transparent;
  color: var(--fandhe-palette);
  border: 1px solid var(--fandhe-color-border);
}

[data-scope="tag"][data-part="root"].fd-tag--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="tag"][data-part="root"].fd-tag--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="tag"][data-part="root"].fd-tag--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="tag"][data-part="root"].fd-tag--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="tag"][data-part="root"].fd-tag--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="kbd"][data-part="root"] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: var(--fandhe-color-bg-subtle);
  border: 1px solid var(--fandhe-color-border);
  border-bottom-width: 2px;
  border-radius: var(--fandhe-radius-sm);
  padding: 0.0625rem 0.375rem;
  font-size: var(--fandhe-font-font-size-xs);
}
[data-scope="code"][data-part="root"] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: var(--fandhe-color-bg-subtle);
  border-radius: var(--fandhe-radius-sm);
  padding: 0.0625rem 0.375rem;
  font-size: var(--fandhe-font-font-size-sm);
}
[data-scope="color-swatch"][data-part="root"] {
  display: inline-block;
  vertical-align: middle;
  background-image: linear-gradient(var(--fd-swatch-color), var(--fd-swatch-color)), repeating-conic-gradient(var(--fandhe-color-border) 0% 25%, var(--fandhe-color-bg) 0% 50%);
  background-size: 100% 100%, 8px 8px;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--size-sm {
  width: 1rem;
  height: 1rem;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--size-md {
  width: 1.5rem;
  height: 1.5rem;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--size-lg {
  width: 2rem;
  height: 2rem;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--shape-square {
  border-radius: 0;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--shape-circle {
  border-radius: 9999px;
}

[data-scope="color-swatch"][data-part="root"].fd-color-swatch--shape-rounded {
  border-radius: var(--fandhe-radius-sm);
}
[data-scope="color-picker"][data-part="root"] {
  display: inline-block;
  position: relative;
}

[data-scope="color-picker"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="color-picker"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="color-picker"][data-part="trigger"] {
  display: inline-block;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  cursor: pointer;
  background-image: linear-gradient(var(--fandhe-color-picker-preview, #000), var(--fandhe-color-picker-preview, #000)), repeating-conic-gradient(var(--fandhe-color-border) 0% 25%, var(--fandhe-color-bg) 0% 50%);
  background-size: 100% 100%, 8px 8px;
}

[data-scope="color-picker"][data-part="positioner"] {
  position: absolute;
  z-index: 1;
}

[data-scope="color-picker"][data-part="content"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-3);
  padding: var(--fandhe-space-3);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
}

[data-scope="color-picker"][data-part="area"] {
  position: relative;
  width: 12rem;
  height: 8rem;
  border-radius: var(--fandhe-radius-sm);
  overflow: hidden;
  cursor: crosshair;
}

[data-scope="color-picker"][data-part="area-background"] {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, var(--fandhe-color-picker-hue-color, #ff0000));
}

[data-scope="color-picker"][data-part="area-thumb"] {
  position: absolute;
  left: var(--fandhe-color-picker-x, 0%);
  top: var(--fandhe-color-picker-y, 0%);
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 9999px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
  transform: translate(-50%, -50%);
  background: transparent;
  cursor: pointer;
}

[data-scope="color-picker"][data-part="hue-slider"] {
  position: relative;
  width: 12rem;
  height: 0.75rem;
}

[data-scope="color-picker"][data-part="hue-slider-track"] {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background-image: linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);
}

[data-scope="color-picker"][data-part="hue-slider-thumb"] {
  position: absolute;
  top: 50%;
  left: var(--fandhe-color-picker-thumb-percent, 0%);
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
  background: transparent;
  cursor: pointer;
}

[data-scope="color-picker"][data-part="alpha-slider"] {
  position: relative;
  width: 12rem;
  height: 0.75rem;
}

[data-scope="color-picker"][data-part="alpha-slider-track"] {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background-image: linear-gradient(to right, transparent, var(--fandhe-color-picker-alpha-color, #000)), repeating-conic-gradient(var(--fandhe-color-border) 0% 25%, var(--fandhe-color-bg) 0% 50%);
  background-size: 100% 100%, 8px 8px;
}

[data-scope="color-picker"][data-part="alpha-slider-thumb"] {
  position: absolute;
  top: 50%;
  left: var(--fandhe-color-picker-thumb-percent, 0%);
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
  background: transparent;
  cursor: pointer;
}

[data-scope="color-picker"][data-part="channel-input"] {
  width: 6rem;
  font-family: monospace;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
}

[data-scope="color-picker"][data-part="value-text"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg);
}
[data-scope="image"][data-part="root"] {
  display: block;
  max-width: 100%;
}

[data-scope="image"][data-part="root"].fd-image--fit-cover {
  object-fit: cover;
}

[data-scope="image"][data-part="root"].fd-image--fit-contain {
  object-fit: contain;
}

[data-scope="image"][data-part="root"].fd-image--fit-fill {
  object-fit: fill;
}

[data-scope="image"][data-part="root"].fd-image--fit-scale-down {
  object-fit: scale-down;
}

[data-scope="image"][data-part="root"].fd-image--fit-none {
  object-fit: none;
}

[data-scope="image"][data-part="root"].fd-image--aspect-ratio-auto {
  aspect-ratio: auto;
}

[data-scope="image"][data-part="root"].fd-image--aspect-ratio-square {
  aspect-ratio: 1 / 1;
}

[data-scope="image"][data-part="root"].fd-image--aspect-ratio-video {
  aspect-ratio: 16 / 9;
}
[data-scope="icon"][data-part="root"] {
  display: inline-block;
  flex-shrink: 0;
  color: currentColor;
  vertical-align: middle;
}

[data-scope="icon"][data-part="root"].fd-icon--size-sm {
  width: 1rem;
  height: 1rem;
}

[data-scope="icon"][data-part="root"].fd-icon--size-md {
  width: 1.5rem;
  height: 1.5rem;
}

[data-scope="icon"][data-part="root"].fd-icon--size-lg {
  width: 2rem;
  height: 2rem;
}
[data-scope="status"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

[data-scope="status"][data-part="indicator"] {
  width: var(--fandhe-status-dot-size, 0.5rem);
  height: var(--fandhe-status-dot-size, 0.5rem);
  border-radius: var(--fandhe-radius-full);
  background: var(--fandhe-palette);
  flex-shrink: 0;
}

[data-scope="status"][data-part="root"].fd-status--size-sm {
  font-size: var(--fandhe-font-font-size-xs);
  --fandhe-status-dot-size: 0.375rem;
}

[data-scope="status"][data-part="root"].fd-status--size-md {
  font-size: var(--fandhe-font-font-size-sm);
  --fandhe-status-dot-size: 0.5rem;
}

[data-scope="status"][data-part="root"].fd-status--size-lg {
  font-size: var(--fandhe-font-font-size-md);
  --fandhe-status-dot-size: 0.625rem;
}

[data-scope="status"][data-part="root"].fd-status--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="status"][data-part="root"].fd-status--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="status"][data-part="root"].fd-status--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="status"][data-part="root"].fd-status--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="status"][data-part="root"].fd-status--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="empty-state"][data-part="root"] {
  display: flex;
  align-items: center;
  justify-content: center;
}

[data-scope="empty-state"][data-part="content"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--fandhe-space-2, 0.5rem);
  text-align: center;
}

[data-scope="empty-state"][data-part="indicator"] {
  font-size: 2rem;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="empty-state"][data-part="title"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
}

[data-scope="empty-state"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="empty-state"][data-part="actions"] {
  display: flex;
  gap: var(--fandhe-space-2, 0.5rem);
  margin-top: var(--fandhe-space-2, 0.5rem);
}

[data-scope="empty-state"][data-part="root"].fd-empty-state--size-sm {
  padding: 2rem;
}

[data-scope="empty-state"][data-part="root"].fd-empty-state--size-md {
  padding: 3rem;
}

[data-scope="empty-state"][data-part="root"].fd-empty-state--size-lg {
  padding: 4rem;
}
[data-scope="visually-hidden"][data-part="root"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
[data-scope="qr-code"][data-part="root"] {
  display: inline-flex;
  position: relative;
  --fandhe-qr-code-size: 8rem;
}

[data-scope="qr-code"][data-part="frame"] {
  width: var(--fandhe-qr-code-size);
  height: var(--fandhe-qr-code-size);
  background: var(--fandhe-color-bg);
}

[data-scope="qr-code"][data-part="pattern"] {
  fill: var(--fandhe-color-fg);
}

[data-scope="qr-code"][data-part="overlay"] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}

[data-scope="qr-code"][data-part="root"].fd-qr-code--size-sm {
  --fandhe-qr-code-size: 6rem;
}

[data-scope="qr-code"][data-part="root"].fd-qr-code--size-md {
  --fandhe-qr-code-size: 8rem;
}

[data-scope="qr-code"][data-part="root"].fd-qr-code--size-lg {
  --fandhe-qr-code-size: 12rem;
}
[data-scope="heading"][data-part="root"] {
  margin: 0;
  font-weight: var(--fandhe-font-font-weight-semibold);
  letter-spacing: -0.01em;
}

[data-scope="heading"][data-part="root"].fd-heading--size-sm {
  font-size: var(--fandhe-font-font-size-sm);
  line-height: 1.25;
}

[data-scope="heading"][data-part="root"].fd-heading--size-md {
  font-size: var(--fandhe-font-font-size-md);
  line-height: 1.3;
}

[data-scope="heading"][data-part="root"].fd-heading--size-lg {
  font-size: var(--fandhe-font-font-size-lg);
  line-height: 1.3;
}

[data-scope="heading"][data-part="root"].fd-heading--size-xl {
  font-size: var(--fandhe-font-font-size-xl);
  line-height: 1.3;
}

[data-scope="heading"][data-part="root"].fd-heading--size-xl2 {
  font-size: var(--fandhe-font-font-size-2xl);
  line-height: 1.25;
}

[data-scope="heading"][data-part="root"].fd-heading--size-xl3 {
  font-size: var(--fandhe-font-font-size-3xl);
  line-height: 1.2;
}

[data-scope="heading"][data-part="root"].fd-heading--size-xl4 {
  font-size: var(--fandhe-font-font-size-4xl);
  line-height: 1.15;
}
[data-scope="text"][data-part="root"] {
  margin: 0;
}

[data-scope="text"][data-part="root"].fd-text--size-xs {
  font-size: var(--fandhe-font-font-size-xs);
  line-height: 1.4;
}

[data-scope="text"][data-part="root"].fd-text--size-sm {
  font-size: var(--fandhe-font-font-size-sm);
  line-height: 1.45;
}

[data-scope="text"][data-part="root"].fd-text--size-md {
  font-size: var(--fandhe-font-font-size-md);
  line-height: 1.5;
}

[data-scope="text"][data-part="root"].fd-text--size-lg {
  font-size: var(--fandhe-font-font-size-lg);
  line-height: 1.5;
}

[data-scope="text"][data-part="root"].fd-text--size-xl {
  font-size: var(--fandhe-font-font-size-xl);
  line-height: 1.55;
}
[data-scope="em"][data-part="root"] {
  font-style: italic;
  font-weight: var(--fandhe-font-font-weight-medium);
}
[data-scope="mark"][data-part="root"] {
  border-radius: var(--fandhe-radius-sm);
  padding-inline: 0.25em;
}

[data-scope="mark"][data-part="root"].fd-mark--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-palette);
}

[data-scope="mark"][data-part="root"].fd-mark--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
}

[data-scope="mark"][data-part="root"].fd-mark--variant-text {
  background: transparent;
  color: var(--fandhe-palette);
}

[data-scope="mark"][data-part="root"].fd-mark--variant-plain {
  background: transparent;
  color: inherit;
  padding-inline: 0;
  border-radius: 0;
}

[data-scope="mark"][data-part="root"].fd-mark--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="mark"][data-part="root"].fd-mark--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="mark"][data-part="root"].fd-mark--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="mark"][data-part="root"].fd-mark--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="mark"][data-part="root"].fd-mark--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="blockquote"][data-part="root"] {
  margin: 0;
  padding-inline-start: 1rem;
  padding-block: 0.5rem;
  --fandhe-blockquote-caption-fg: var(--fandhe-color-fg-muted);
}

[data-scope="blockquote"][data-part="content"] {
  margin: 0;
}

[data-scope="blockquote"][data-part="caption"] {
  display: block;
  margin-block-start: 0.5rem;
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-blockquote-caption-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--variant-subtle {
  background: var(--fandhe-color-bg-subtle);
  border-inline-start: 4px solid var(--fandhe-palette);
  border-radius: var(--fandhe-radius-sm);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--variant-solid {
  background: var(--fandhe-palette);
  color: var(--fandhe-palette-fg);
  border-inline-start: 4px solid var(--fandhe-palette-emphasized);
  border-radius: var(--fandhe-radius-sm);
  --fandhe-blockquote-caption-fg: var(--fandhe-palette-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--variant-plain {
  background: transparent;
  border-inline-start: 4px solid var(--fandhe-palette);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="blockquote"][data-part="root"].fd-blockquote--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="list"][data-part="root"] {
  margin: 0;
}

[data-scope="list"][data-part="item"] {
  margin-block: 0.25rem;
  line-height: 1.5;
}

[data-scope="list"][data-part="indicator"] {
  display: inline-block;
}

[data-scope="list"][data-part="root"].fd-list--variant-marker {
  list-style: revert;
  padding-inline-start: 1.5rem;
}

[data-scope="list"][data-part="root"].fd-list--variant-plain {
  list-style: none;
  padding-inline-start: 0;
}
[data-scope="quote"][data-part="root"] {
  font-style: italic;
}
[data-scope="strong"][data-part="root"] {
  font-weight: var(--fandhe-font-font-weight-bold);
}
[data-scope="table"][data-part="root"] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}

[data-scope="table"][data-part="column-header"] {
  padding: var(--fandhe-table-cell-padding, 0.75rem 1rem);
  font-size: var(--fandhe-table-font-size, var(--fandhe-font-font-size-sm));
  font-weight: var(--fandhe-font-font-weight-semibold);
  text-align: inherit;
  border-bottom: 2px solid var(--fandhe-color-border-muted);
  background: var(--fandhe-color-bg);
}

[data-scope="table"][data-part="cell"] {
  padding: var(--fandhe-table-cell-padding, 0.75rem 1rem);
  font-size: var(--fandhe-table-font-size, var(--fandhe-font-font-size-sm));
  border-bottom: var(--fandhe-table-row-border, none);
}

[data-scope="table"][data-part="caption"] {
  caption-side: bottom;
  padding: 0.75rem 0;
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="table"][data-part="root"].fd-table--variant-line {
  --fandhe-table-row-border: 1px solid var(--fandhe-color-border-muted);
}

[data-scope="table"][data-part="root"].fd-table--variant-outline {
  --fandhe-table-row-border: none;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-lg);
  overflow: hidden;
}

[data-scope="table"][data-part="root"].fd-table--size-sm {
  --fandhe-table-cell-padding: 0.5rem 0.75rem;
  --fandhe-table-font-size: var(--fandhe-font-font-size-xs);
}

[data-scope="table"][data-part="root"].fd-table--size-md {
  --fandhe-table-cell-padding: 0.75rem 1rem;
  --fandhe-table-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="table"][data-part="root"].fd-table--size-lg {
  --fandhe-table-cell-padding: 1rem 1.25rem;
  --fandhe-table-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="table"][data-part="root"].fd-table--striped-false {
  --fandhe-table-stripe-bg: transparent;
}

[data-scope="table"][data-part="root"].fd-table--striped-true {
  --fandhe-table-stripe-bg: var(--fandhe-color-bg-subtle);
}

[data-scope="table"][data-part="row"]:nth-child(even) {
  background: var(--fandhe-table-stripe-bg, transparent);
}
[data-scope="data-list"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

[data-scope="data-list"][data-part="item"] {
  display: var(--fandhe-data-list-item-display, flex);
  flex-direction: var(--fandhe-data-list-item-flex-direction, column);
  gap: var(--fandhe-data-list-item-gap, 0.125rem);
}

[data-scope="data-list"][data-part="item-label"] {
  margin: 0;
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="data-list"][data-part="item-value"] {
  margin: 0;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-md);
}

[data-scope="data-list"][data-part="root"].fd-data-list--orientation-vertical {
  --fandhe-data-list-item-display: flex;
  --fandhe-data-list-item-flex-direction: column;
  --fandhe-data-list-item-gap: 0.125rem;
}

[data-scope="data-list"][data-part="root"].fd-data-list--orientation-horizontal {
  --fandhe-data-list-item-display: flex;
  --fandhe-data-list-item-flex-direction: row;
  --fandhe-data-list-item-gap: 0.5rem;
}
[data-scope="stat"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="stat"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="stat"][data-part="value-text"] {
  display: flex;
  align-items: baseline;
  gap: var(--fandhe-space-1);
  font-size: var(--fandhe-stat-value-font-size, var(--fandhe-font-font-size-2xl));
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0;
}

[data-scope="stat"][data-part="value-unit"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="stat"][data-part="help-text"] {
  display: block;
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="stat"][data-part="up-indicator"] {
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  background: var(--fandhe-color-success-emphasized);
}

[data-scope="stat"][data-part="down-indicator"] {
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  background: var(--fandhe-color-danger-emphasized);
}

[data-scope="stat"][data-part="root"].fd-stat--size-sm {
  --fandhe-stat-value-font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="stat"][data-part="root"].fd-stat--size-md {
  --fandhe-stat-value-font-size: var(--fandhe-font-font-size-2xl);
}

[data-scope="stat"][data-part="root"].fd-stat--size-lg {
  --fandhe-stat-value-font-size: var(--fandhe-font-font-size-3xl);
}
[data-scope="timeline"][data-part="root"] {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-scope="timeline"][data-part="item"] {
  display: grid;
  grid-template-columns: var(--fandhe-timeline-indicator-size, 1.5rem) 1fr;
  gap: var(--fandhe-space-2);
}

[data-scope="timeline"][data-part="connector"] {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

[data-scope="timeline"][data-part="separator"] {
  flex: 1;
  width: var(--fandhe-timeline-separator-width, 2px);
  background: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="timeline"][data-part="indicator"] {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--fandhe-timeline-indicator-size, 1.5rem);
  height: var(--fandhe-timeline-indicator-size, 1.5rem);
  border-radius: var(--fandhe-radius-full, 9999px);
  background: var(--fandhe-timeline-indicator-bg, var(--fandhe-palette, var(--fandhe-color-accent)));
  color: var(--fandhe-timeline-indicator-fg, var(--fandhe-palette-fg, var(--fandhe-color-accent-fg)));
  border: var(--fandhe-timeline-indicator-border, none);
}

[data-scope="timeline"][data-part="content"] {
  grid-column: 2;
  padding-bottom: var(--fandhe-space-4);
}

[data-scope="timeline"][data-part="title"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
  color: var(--fandhe-color-fg);
}

[data-scope="timeline"][data-part="description"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
}

[data-scope="timeline"][data-part="root"].fd-timeline--variant-solid {
  --fandhe-timeline-indicator-bg: var(--fandhe-palette, var(--fandhe-color-accent));
  --fandhe-timeline-indicator-fg: var(--fandhe-palette-fg, var(--fandhe-color-accent-fg));
  --fandhe-timeline-indicator-border: none;
}

[data-scope="timeline"][data-part="root"].fd-timeline--variant-subtle {
  --fandhe-timeline-indicator-bg: var(--fandhe-color-bg-subtle);
  --fandhe-timeline-indicator-fg: var(--fandhe-palette, var(--fandhe-color-accent));
  --fandhe-timeline-indicator-border: none;
}

[data-scope="timeline"][data-part="root"].fd-timeline--variant-outline {
  --fandhe-timeline-indicator-bg: var(--fandhe-color-bg);
  --fandhe-timeline-indicator-fg: var(--fandhe-palette, var(--fandhe-color-accent));
  --fandhe-timeline-indicator-border: 2px solid var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="timeline"][data-part="root"].fd-timeline--variant-plain {
  --fandhe-timeline-indicator-bg: transparent;
  --fandhe-timeline-indicator-fg: var(--fandhe-palette, var(--fandhe-color-accent));
  --fandhe-timeline-indicator-border: none;
}

[data-scope="timeline"][data-part="root"].fd-timeline--size-sm {
  --fandhe-timeline-indicator-size: 1.125rem;
  --fandhe-timeline-separator-width: 1.5px;
}

[data-scope="timeline"][data-part="root"].fd-timeline--size-md {
  --fandhe-timeline-indicator-size: 1.5rem;
  --fandhe-timeline-separator-width: 2px;
}

[data-scope="timeline"][data-part="root"].fd-timeline--size-lg {
  --fandhe-timeline-indicator-size: 1.875rem;
  --fandhe-timeline-separator-width: 2.5px;
}

[data-scope="timeline"][data-part="root"].fd-timeline--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="timeline"][data-part="root"].fd-timeline--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="timeline"][data-part="root"].fd-timeline--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="timeline"][data-part="root"].fd-timeline--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="timeline"][data-part="root"].fd-timeline--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}
[data-scope="marquee"][data-part="root"] {
  display: flex;
  overflow: hidden;
  gap: var(--fandhe-marquee-gap, 1rem);
}

[data-scope="marquee"][data-part="content"] {
  display: flex;
  flex: none;
  align-items: center;
  min-width: max-content;
  gap: var(--fandhe-marquee-gap, 1rem);
  animation: fd-marquee-scroll var(--fandhe-marquee-duration, 20s) linear infinite;
  animation-direction: var(--fandhe-marquee-direction, normal);
}

[data-scope="marquee"][data-part="item"] {
  flex: none;
}

[data-scope="marquee"][data-part="root"].fd-marquee--direction-start {
  --fandhe-marquee-direction: normal;
}

[data-scope="marquee"][data-part="root"].fd-marquee--direction-end {
  --fandhe-marquee-direction: reverse;
}

@keyframes fd-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--fandhe-marquee-gap, 1rem)));
  }
}

[data-scope="marquee"][data-part="root"]:hover [data-part="content"],
[data-scope="marquee"][data-part="root"]:focus-within [data-part="content"] {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  [data-scope="marquee"][data-part="content"] {
    animation: none;
  }

  [data-scope="marquee"][data-part="content"][aria-hidden="true"] {
    display: none;
  }
}
[data-scope="scroll-area"][data-part="root"] {
  position: relative;
  overflow: hidden;
}

[data-scope="scroll-area"][data-part="viewport"] {
  height: 100%;
  width: 100%;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--fandhe-color-border) transparent;
}

[data-scope="scroll-area"][data-part="content"] {
  display: block;
}

[data-scope="scroll-area"][data-part="scrollbar"] {
  display: none;
}

[data-scope="scroll-area"][data-part="thumb"] {
  display: none;
}

[data-scope="scroll-area"][data-part="corner"] {
  display: none;
}

[data-scope="scroll-area"][data-part="viewport"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: -2px;
}
[data-scope="scroll-area"][data-part="viewport"]::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
[data-scope="scroll-area"][data-part="viewport"]::-webkit-scrollbar-track {
  background: transparent;
}
[data-scope="scroll-area"][data-part="viewport"]::-webkit-scrollbar-thumb {
  background: var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-full);
}
[data-scope="scroll-area"][data-part="viewport"]::-webkit-scrollbar-corner {
  background: transparent;
}
[data-scope="splitter"][data-part="root"] {
  display: flex;
  align-items: stretch;
  width: 100%;
}

[data-scope="splitter"][data-part="panel"] {
  flex-basis: var(--fandhe-splitter-size, auto);
  flex-grow: 0;
  flex-shrink: 1;
  overflow: hidden;
}

[data-scope="splitter"][data-part="resize-trigger"] {
  flex: 0 0 var(--fandhe-splitter-trigger-size, 0.25rem);
  background: var(--fandhe-color-border);
  cursor: col-resize;
  box-shadow: inset 0 0 0 9999px var(--fandhe-palette, transparent);
}

[data-scope="splitter"][data-part="root"].fd-splitter--size-sm {
  --fandhe-splitter-trigger-size: 0.125rem;
}

[data-scope="splitter"][data-part="root"].fd-splitter--size-md {
  --fandhe-splitter-trigger-size: 0.25rem;
}

[data-scope="splitter"][data-part="root"].fd-splitter--size-lg {
  --fandhe-splitter-trigger-size: 0.375rem;
}

[data-scope="splitter"][data-part="root"].fd-splitter--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="splitter"][data-part="root"].fd-splitter--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="splitter"][data-part="root"].fd-splitter--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="splitter"][data-part="root"].fd-splitter--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="splitter"][data-part="root"].fd-splitter--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="splitter"][data-part="root"][data-orientation="vertical"] {
  flex-direction: column;
}

[data-scope="splitter"][data-part="root"][data-disabled] {
  opacity: 0.5;
}

[data-scope="splitter"][data-part="resize-trigger"][data-orientation="vertical"] {
  cursor: row-resize;
}

[data-scope="splitter"][data-part="resize-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="splitter"][data-part="resize-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: -2px;
}
[data-scope="calendar"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-calendar-root-padding, var(--fandhe-space-3));
}

[data-scope="calendar"][data-part="heading"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
}

[data-scope="calendar"][data-part="prev-trigger"] {
  cursor: pointer;
  background: transparent;
  border: none;
  color: var(--fandhe-color-fg);
  border-radius: 0.25rem;
}

[data-scope="calendar"][data-part="next-trigger"] {
  cursor: pointer;
  background: transparent;
  border: none;
  color: var(--fandhe-color-fg);
  border-radius: 0.25rem;
}

[data-scope="calendar"][data-part="table"] {
  border-collapse: collapse;
  width: 100%;
}

[data-scope="calendar"][data-part="table-head-cell"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  font-weight: 500;
  padding: var(--fandhe-space-1);
  text-align: center;
}

[data-scope="calendar"][data-part="table-cell"] {
  padding: 1px;
  text-align: center;
}

[data-scope="calendar"][data-part="day-trigger"] {
  cursor: pointer;
  background: transparent;
  border: none;
  color: var(--fandhe-color-fg);
  border-radius: 0.25rem;
  width: var(--fandhe-calendar-day-size, var(--fandhe-space-8));
  height: var(--fandhe-calendar-day-size, var(--fandhe-space-8));
}

[data-scope="calendar"][data-part="root"].fd-calendar--size-sm {
  --fandhe-calendar-root-padding: var(--fandhe-space-2);
  --fandhe-calendar-day-size: var(--fandhe-space-6);
}

[data-scope="calendar"][data-part="root"].fd-calendar--size-md {
  --fandhe-calendar-root-padding: var(--fandhe-space-3);
  --fandhe-calendar-day-size: var(--fandhe-space-8);
}

[data-scope="calendar"][data-part="root"].fd-calendar--size-lg {
  --fandhe-calendar-root-padding: var(--fandhe-space-4);
  --fandhe-calendar-day-size: var(--fandhe-space-10);
}

[data-scope="calendar"][data-part="day-trigger"][data-selected] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="calendar"][data-part="day-trigger"][data-today] {
  font-weight: 700;
}

[data-scope="calendar"][data-part="day-trigger"][data-outside-month] {
  color: var(--fandhe-color-fg-muted);
}

[data-scope="calendar"][data-part="day-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-scope="calendar"][data-part="day-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="calendar"][data-part="prev-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-scope="calendar"][data-part="next-trigger"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}
[data-scope="date-picker"][data-part="root"] {
  position: relative;
}

[data-scope="date-picker"][data-part="label"] {
  display: block;
  color: var(--fandhe-color-fg);
  font-size: var(--fandhe-font-font-size-sm);
  margin-bottom: var(--fandhe-space-1);
}

[data-scope="date-picker"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="date-picker"][data-part="input"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-date-picker-input-padding, var(--fandhe-space-2) var(--fandhe-space-3));
}

[data-scope="date-picker"][data-part="trigger"] {
  cursor: pointer;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  padding: var(--fandhe-space-2);
}

[data-scope="date-picker"][data-part="clear-trigger"] {
  cursor: pointer;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="date-picker"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="date-picker"][data-part="content"] {
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-date-picker-content-padding, var(--fandhe-space-2));
}

[data-scope="date-picker"][data-part="root"].fd-date-picker--size-sm {
  --fandhe-date-picker-input-padding: var(--fandhe-space-1) var(--fandhe-space-2);
  --fandhe-date-picker-content-padding: var(--fandhe-space-1);
}

[data-scope="date-picker"][data-part="root"].fd-date-picker--size-md {
  --fandhe-date-picker-input-padding: var(--fandhe-space-2) var(--fandhe-space-3);
  --fandhe-date-picker-content-padding: var(--fandhe-space-2);
}

[data-scope="date-picker"][data-part="root"].fd-date-picker--size-lg {
  --fandhe-date-picker-input-padding: var(--fandhe-space-3) var(--fandhe-space-4);
  --fandhe-date-picker-content-padding: var(--fandhe-space-3);
}

[data-scope="date-picker"][data-part="trigger"][data-state="open"] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="date-picker"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="date-picker"][data-part="input"]:focus-visible {
  border-color: var(--fandhe-color-accent);
}
[data-scope="date-input"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="date-input"][data-part="label"] {
  font-size: var(--fandhe-date-input-font-size, var(--fandhe-font-font-size-sm));
}

[data-scope="date-input"][data-part="control"] {
  display: inline-flex;
  align-items: center;
}

[data-scope="date-input"][data-part="segment-group"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md, 0.375rem);
  padding: 0 var(--fandhe-space-2);
  background: var(--fandhe-color-bg);
}

[data-scope="date-input"][data-part="segment"] {
  box-sizing: border-box;
  height: var(--fandhe-date-input-segment-size, 2.5rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fandhe-date-input-font-size, var(--fandhe-font-font-size-sm));
  border-radius: var(--fandhe-radius-sm, 0.25rem);
  outline: none;
}

[data-scope="date-input"][data-part="root"].fd-date-input--size-sm {
  --fandhe-date-input-segment-size: 2rem;
  --fandhe-date-input-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="date-input"][data-part="root"].fd-date-input--size-md {
  --fandhe-date-input-segment-size: 2.5rem;
  --fandhe-date-input-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="date-input"][data-part="root"].fd-date-input--size-lg {
  --fandhe-date-input-segment-size: 3rem;
  --fandhe-date-input-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="date-input"][data-part="root"][data-disabled] {
  opacity: 0.5;
}

[data-scope="date-input"][data-part="segment-group"][data-invalid] {
  border-color: var(--fandhe-color-danger);
}

[data-scope="date-input"][data-part="segment-group"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="date-input"][data-part="segment"][data-placeholder] {
  color: var(--fandhe-color-fg-muted);
}

[data-scope="date-input"][data-part="segment"]:focus-visible {
  box-shadow: 0 0 0 2px var(--fandhe-color-focus-ring, var(--fandhe-color-accent));
}
[data-scope="timer"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
}

[data-scope="timer"][data-part="area"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="timer"][data-part="item"] {
  display: flex;
  flex-direction: column;
  align-items: center;
}

[data-scope="timer"][data-part="item-value"] {
  font-variant-numeric: tabular-nums;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--fandhe-color-fg);
}

[data-scope="timer"][data-part="item-label"] {
  font-size: 0.75rem;
  color: var(--fandhe-color-fg-muted);
  text-transform: uppercase;
}

[data-scope="timer"][data-part="separator"] {
  font-size: 1.5rem;
  align-self: center;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="timer"][data-part="control"] {
  display: flex;
  flex-direction: row;
  gap: var(--fandhe-space-2);
  margin-top: var(--fandhe-space-2);
}

[data-scope="timer"][data-part="item-value"][data-state="completed"] {
  color: var(--fandhe-color-accent);
}

[data-scope="timer"][data-part="action-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="tour"][data-part="backdrop"] {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(0, 0, 0, 0.5);
}

[data-scope="tour"][data-part="spotlight"] {
  position: fixed;
  z-index: 1101;
  top: var(--fandhe-tour-spotlight-y, 40%);
  left: var(--fandhe-tour-spotlight-x, 40%);
  width: var(--fandhe-tour-spotlight-width, 20%);
  height: var(--fandhe-tour-spotlight-height, 20%);
  border-radius: var(--fandhe-radius-md);
  box-shadow: 0 0 0 max(100vw, 100vh) rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

[data-scope="tour"][data-part="positioner"] {
  position: fixed;
  z-index: 1102;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  padding: var(--fandhe-space-4);
}

[data-scope="tour"][data-part="arrow"] {
  position: relative;
}

[data-scope="tour"][data-part="arrow-tip"] {
  width: 0.75rem;
  height: 0.75rem;
  background: var(--fandhe-color-bg);
  transform: rotate(45deg);
}

[data-scope="tour"][data-part="content"] {
  position: relative;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border-radius: var(--fandhe-radius-md);
  box-shadow: var(--fandhe-shadow-lg, 0 10px 30px rgba(0, 0, 0, 0.25));
  padding: var(--fandhe-space-6);
  max-width: 24rem;
}

[data-scope="tour"][data-part="title"] {
  font-size: var(--fandhe-font-font-size-lg);
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin: 0 0 var(--fandhe-space-2) 0;
}

[data-scope="tour"][data-part="description"] {
  color: var(--fandhe-color-fg-muted);
  margin: 0 0 var(--fandhe-space-4) 0;
}

[data-scope="tour"][data-part="progress-text"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg-muted);
  margin: 0 0 var(--fandhe-space-4) 0;
}

[data-scope="tour"][data-part="close-trigger"] {
  position: absolute;
  top: var(--fandhe-space-2);
  right: var(--fandhe-space-2);
  cursor: pointer;
  background: none;
  border: none;
  color: var(--fandhe-color-fg-muted);
}

[data-scope="tour"][data-part="action-trigger"] {
  cursor: pointer;
  font: inherit;
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-color-bg);
}

[data-scope="tour"][data-part="root"].fd-tour--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="tour"][data-part="root"].fd-tour--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="tour"][data-part="root"].fd-tour--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="tour"][data-part="root"].fd-tour--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="tour"][data-part="root"].fd-tour--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="tour"][data-part="backdrop"][hidden] {
  display: none;
}

[data-scope="tour"][data-part="spotlight"][hidden] {
  display: none;
}

[data-scope="tour"][data-part="positioner"][data-side="top"] {
  top: var(--fandhe-space-4);
  transform: translateX(-50%);
}

[data-scope="tour"][data-part="positioner"][data-side="bottom"] {
  top: auto;
  bottom: var(--fandhe-space-4);
  transform: translateX(-50%);
}

[data-scope="tour"][data-part="positioner"][data-side="left"] {
  left: var(--fandhe-space-4);
  transform: translateY(-50%);
}

[data-scope="tour"][data-part="positioner"][data-side="right"] {
  left: auto;
  right: var(--fandhe-space-4);
  transform: translateY(-50%);
}

[data-scope="tour"][data-part="positioner"][data-side="top"][data-align="start"] {
  left: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="top"][data-align="end"] {
  left: auto;
  right: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="bottom"][data-align="start"] {
  left: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="bottom"][data-align="end"] {
  left: auto;
  right: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="left"][data-align="start"] {
  top: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="left"][data-align="end"] {
  top: auto;
  bottom: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="right"][data-align="start"] {
  top: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][data-side="right"][data-align="end"] {
  top: auto;
  bottom: var(--fandhe-space-4);
  transform: none;
}

[data-scope="tour"][data-part="positioner"][hidden] {
  display: none;
}

[data-scope="tour"][data-part="content"][hidden] {
  display: none;
}

[data-scope="tour"][data-part="close-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="tour"][data-part="action-trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="bar-chart"][data-part="root"] {
  display: block;
  max-width: 100%;
}

[data-scope="bar-chart"][data-part="category-label"] {
  font-size: var(--fandhe-font-font-size-xs);
  fill: var(--fandhe-color-fg-muted);
}
[data-scope="bar-list"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

[data-scope="bar-list"][data-part="item"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}

[data-scope="bar-list"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-scope="bar-list"][data-part="track"] {
  grid-column: 1 / -1;
  background: var(--fandhe-color-bg-subtle);
  border-radius: var(--fandhe-radius-sm);
  overflow: hidden;
  height: 0.5rem;
}

[data-scope="bar-list"][data-part="bar"] {
  height: 100%;
  width: var(--fandhe-bar-list-percent, 0%);
  background: var(--fandhe-color-chart-1);
}

[data-scope="bar-list"][data-part="value"] {
  font-size: var(--fandhe-font-font-size-sm);
  font-variant-numeric: tabular-nums;
  color: var(--fandhe-color-fg-muted);
}
[data-scope="bar-segment"][data-part="root"] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

[data-scope="bar-segment"][data-part="bar"] {
  display: flex;
  width: 100%;
  height: 0.75rem;
  border-radius: var(--fandhe-radius-sm);
  overflow: hidden;
}

[data-scope="bar-segment"][data-part="segment"] {
  height: 100%;
  width: var(--fandhe-bar-segment-percent, 0%);
}

[data-scope="bar-segment"][data-part="legend"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

[data-scope="bar-segment"][data-part="legend-item"] {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="bar-segment"][data-part="legend-marker"] {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 9999px;
  flex-shrink: 0;
}

[data-scope="bar-segment"][data-part="legend-label"] {
  color: var(--fandhe-color-fg);
}

[data-scope="bar-segment"][data-part="legend-value"] {
  color: var(--fandhe-color-fg-muted);
  font-variant-numeric: tabular-nums;
}
[data-scope="line-chart"][data-part="root"] {
  display: block;
  --fandhe-line-chart-height: 150px;
}

[data-scope="line-chart"][data-part="plot"] {
  display: block;
  width: 100%;
  height: var(--fandhe-line-chart-height, auto);
}

[data-scope="line-chart"][data-part="series-line"] {
  fill: none;
  stroke-width: 2;
}

[data-scope="line-chart"][data-part="root"].fd-line-chart--size-sm {
  --fandhe-line-chart-height: 96px;
}

[data-scope="line-chart"][data-part="root"].fd-line-chart--size-md {
  --fandhe-line-chart-height: 150px;
}

[data-scope="line-chart"][data-part="root"].fd-line-chart--size-lg {
  --fandhe-line-chart-height: 220px;
}
[data-scope="area-chart"][data-part="root"] {
  display: block;
  --fandhe-area-chart-height: 150px;
}

[data-scope="area-chart"][data-part="plot"] {
  display: block;
  width: 100%;
  height: var(--fandhe-area-chart-height, auto);
}

[data-scope="area-chart"][data-part="series-area"] {
  fill-opacity: 0.2;
  stroke: none;
}

[data-scope="area-chart"][data-part="series-line"] {
  fill: none;
  stroke-width: 2;
}

[data-scope="area-chart"][data-part="root"].fd-area-chart--size-sm {
  --fandhe-area-chart-height: 96px;
}

[data-scope="area-chart"][data-part="root"].fd-area-chart--size-md {
  --fandhe-area-chart-height: 150px;
}

[data-scope="area-chart"][data-part="root"].fd-area-chart--size-lg {
  --fandhe-area-chart-height: 220px;
}
[data-scope="sparkline"][data-part="root"] {
  display: inline-block;
  --fandhe-sparkline-height: 48px;
}

[data-scope="sparkline"][data-part="plot"] {
  display: block;
  width: auto;
  height: var(--fandhe-sparkline-height, auto);
}

[data-scope="sparkline"][data-part="series-area"] {
  fill-opacity: 0.2;
  stroke: none;
}

[data-scope="sparkline"][data-part="series-line"] {
  fill: none;
  stroke-width: 1.5;
}

[data-scope="sparkline"][data-part="root"].fd-sparkline--size-sm {
  --fandhe-sparkline-height: 32px;
}

[data-scope="sparkline"][data-part="root"].fd-sparkline--size-md {
  --fandhe-sparkline-height: 48px;
}

[data-scope="sparkline"][data-part="root"].fd-sparkline--size-lg {
  --fandhe-sparkline-height: 64px;
}
[data-scope="scatter-chart"][data-part="root"] {
  display: block;
  max-width: 100%;
}

[data-scope="scatter-chart"][data-part="point"] {
  stroke: var(--fandhe-color-bg);
  stroke-width: 1px;
}
[data-scope="radar-chart"][data-part="root"] {
  display: block;
  max-width: 100%;
}

[data-scope="radar-chart"][data-part="grid"] {
  stroke: var(--fandhe-color-border);
  fill: none;
}

[data-scope="radar-chart"][data-part="spoke"] {
  stroke: var(--fandhe-color-border);
}

[data-scope="radar-chart"][data-part="axis-label"] {
  font-size: var(--fandhe-font-font-size-xs);
  fill: var(--fandhe-color-fg-muted);
}

[data-scope="radar-chart"][data-part="series"] {
  fill-opacity: 0.2;
}
[data-scope="chart"][data-part="axis-line"] {
  stroke: var(--fandhe-color-border);
  stroke-width: 1;
}

[data-scope="chart"][data-part="tick-line"] {
  stroke: var(--fandhe-color-border-muted);
  stroke-width: 1;
}

[data-scope="chart"][data-part="tick-label"] {
  fill: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-xs);
  font-family: var(--fandhe-font-font-body);
}
[data-scope="chart"][data-part="grid-line"] {
  stroke: var(--fandhe-color-border-muted);
  stroke-width: 1;
}

[data-scope="chart"][data-part="grid-line"].fd-chart--lines-dashed {
  stroke-dasharray: 3 3;
}
[data-scope="chart-legend"][data-part="root"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fandhe-space-4);
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: var(--fandhe-font-font-size-sm);
  color: var(--fandhe-color-fg);
}

[data-scope="chart-legend"][data-part="title"] {
  font-weight: var(--fandhe-font-font-weight-semibold);
  margin-right: var(--fandhe-space-2);
}

[data-scope="chart-legend"][data-part="item"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="chart-legend"][data-part="marker"] {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--fandhe-radius-full);
  flex-shrink: 0;
}
[data-scope="chart"][data-part="datum"] {
  cursor: default;
}

[data-scope="chart"][data-part="datum"]:hover {
  stroke: var(--fandhe-color-accent-emphasized);
  stroke-width: 2;
}
[data-scope="pie-chart"][data-part="root"] {
  display: inline-flex;
  --fandhe-pie-chart-size: 16rem;
}

[data-scope="pie-chart"][data-part="chart"] {
  width: var(--fandhe-pie-chart-size);
  height: var(--fandhe-pie-chart-size);
}

[data-scope="pie-chart"][data-part="segment"] {
  stroke: var(--fandhe-color-bg);
  stroke-width: 1;
}

[data-scope="pie-chart"][data-part="label"] {
  fill: var(--fandhe-color-fg);
  font-size: 6px;
  text-anchor: middle;
}

[data-scope="pie-chart"][data-part="root"].fd-pie-chart--size-sm {
  --fandhe-pie-chart-size: 10rem;
}

[data-scope="pie-chart"][data-part="root"].fd-pie-chart--size-md {
  --fandhe-pie-chart-size: 16rem;
}

[data-scope="pie-chart"][data-part="root"].fd-pie-chart--size-lg {
  --fandhe-pie-chart-size: 22rem;
}
[data-scope="donut-chart"][data-part="root"] {
  display: inline-flex;
  --fandhe-donut-chart-size: 16rem;
}

[data-scope="donut-chart"][data-part="chart"] {
  width: var(--fandhe-donut-chart-size);
  height: var(--fandhe-donut-chart-size);
}

[data-scope="donut-chart"][data-part="segment"] {
  stroke: var(--fandhe-color-bg);
  stroke-width: 1;
}

[data-scope="donut-chart"][data-part="label"] {
  fill: var(--fandhe-color-fg);
  font-size: 6px;
  text-anchor: middle;
}

[data-scope="donut-chart"][data-part="root"].fd-donut-chart--size-sm {
  --fandhe-donut-chart-size: 10rem;
}

[data-scope="donut-chart"][data-part="root"].fd-donut-chart--size-md {
  --fandhe-donut-chart-size: 16rem;
}

[data-scope="donut-chart"][data-part="root"].fd-donut-chart--size-lg {
  --fandhe-donut-chart-size: 22rem;
}
[data-scope="angle-slider"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: var(--fandhe-space-1);
}

[data-scope="angle-slider"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="angle-slider"][data-part="control"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--fandhe-angle-slider-track-size, 4.5rem);
  height: var(--fandhe-angle-slider-track-size, 4.5rem);
  border-radius: 999px;
  background: var(--fandhe-color-border);
}

[data-scope="angle-slider"][data-part="thumb"] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--fandhe-angle-slider-thumb-size, 0.9rem);
  height: var(--fandhe-angle-slider-thumb-size, 0.9rem);
  margin-top: calc(var(--fandhe-angle-slider-track-size, 4.5rem) / -2);
  margin-left: calc(var(--fandhe-angle-slider-thumb-size, 0.9rem) / -2);
  transform-origin: calc(var(--fandhe-angle-slider-thumb-size, 0.9rem) / 2) calc(var(--fandhe-angle-slider-track-size, 4.5rem) / 2);
  transform: rotate(var(--fandhe-angle, 0deg));
  border-radius: 999px;
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  box-sizing: border-box;
  cursor: pointer;
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--size-sm {
  --fandhe-angle-slider-track-size: 3.5rem;
  --fandhe-angle-slider-thumb-size: 0.7rem;
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--size-md {
  --fandhe-angle-slider-track-size: 4.5rem;
  --fandhe-angle-slider-thumb-size: 0.9rem;
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--size-lg {
  --fandhe-angle-slider-track-size: 5.5rem;
  --fandhe-angle-slider-thumb-size: 1.1rem;
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="angle-slider"][data-part="root"].fd-angle-slider--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="angle-slider"][data-part="root"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="angle-slider"][data-part="thumb"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="angle-slider"][data-part="thumb"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="image-cropper"][data-part="root"] {
  display: inline-block;
  position: relative;
}

[data-scope="image-cropper"][data-part="viewport"] {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}

[data-scope="image-cropper"][data-part="image"] {
  display: block;
  max-width: 100%;
}

[data-scope="image-cropper"][data-part="selection"] {
  position: absolute;
  left: var(--fandhe-image-cropper-x, 0%);
  top: var(--fandhe-image-cropper-y, 0%);
  width: var(--fandhe-image-cropper-w, 100%);
  height: var(--fandhe-image-cropper-h, 100%);
  box-sizing: border-box;
  border: 2px solid var(--fandhe-color-bg);
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
  cursor: move;
}

[data-scope="image-cropper"][data-part="handle"] {
  position: absolute;
  width: var(--fandhe-image-cropper-handle-size, 0.75rem);
  height: var(--fandhe-image-cropper-handle-size, 0.75rem);
  background: var(--fandhe-color-bg);
  border: 1px solid var(--fandhe-color-border);
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

[data-scope="image-cropper"][data-part="grid"] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 1px, transparent 1px);
  background-size: calc(100% / 3) 100%, 100% calc(100% / 3);
}

[data-scope="image-cropper"][data-part="root"].fd-image-cropper--size-sm {
  --fandhe-image-cropper-handle-size: 0.55rem;
}

[data-scope="image-cropper"][data-part="root"].fd-image-cropper--size-md {
  --fandhe-image-cropper-handle-size: 0.75rem;
}

[data-scope="image-cropper"][data-part="root"].fd-image-cropper--size-lg {
  --fandhe-image-cropper-handle-size: 0.95rem;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="n"] {
  top: 0;
  left: 50%;
  cursor: ns-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="s"] {
  top: 100%;
  left: 50%;
  cursor: ns-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="e"] {
  top: 50%;
  left: 100%;
  cursor: ew-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="w"] {
  top: 50%;
  left: 0;
  cursor: ew-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="ne"] {
  top: 0;
  left: 100%;
  cursor: nesw-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="nw"] {
  top: 0;
  left: 0;
  cursor: nwse-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="se"] {
  top: 100%;
  left: 100%;
  cursor: nwse-resize;
}

[data-scope="image-cropper"][data-part="handle"][data-handle-position="sw"] {
  top: 100%;
  left: 0;
  cursor: nesw-resize;
}

[data-scope="image-cropper"][data-part="handle"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 1px;
}
[data-scope="pin-input"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-2);
}

[data-scope="pin-input"][data-part="label"] {
  font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="pin-input"][data-part="control"] {
  display: flex;
  gap: var(--fandhe-space-2);
}

[data-scope="pin-input"][data-part="input"] {
  box-sizing: border-box;
  width: var(--fandhe-pin-input-size, 2.5rem);
  height: var(--fandhe-pin-input-size, 2.5rem);
  font-size: var(--fandhe-pin-input-font-size, var(--fandhe-font-font-size-md));
  text-align: center;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-sm);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  transition: border-color 0.15s, background 0.15s;
}

[data-scope="pin-input"][data-part="root"].fd-pin-input--size-sm {
  --fandhe-pin-input-size: 2rem;
  --fandhe-pin-input-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="pin-input"][data-part="root"].fd-pin-input--size-md {
  --fandhe-pin-input-size: 2.5rem;
  --fandhe-pin-input-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="pin-input"][data-part="root"].fd-pin-input--size-lg {
  --fandhe-pin-input-size: 3rem;
  --fandhe-pin-input-font-size: var(--fandhe-font-font-size-lg);
}

[data-scope="pin-input"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="pin-input"][data-part="input"][data-complete] {
  border-color: var(--fandhe-color-accent);
}

[data-scope="pin-input"][data-part="input"][data-disabled] {
  cursor: not-allowed;
}

[data-scope="pin-input"][data-part="input"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="signature-pad"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: 0.5rem;
}

[data-scope="signature-pad"][data-part="control"] {
  position: relative;
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  background: var(--fandhe-color-bg);
}

[data-scope="signature-pad"][data-part="segment"] {
  display: block;
  width: 100%;
}

[data-scope="signature-pad"][data-part="segment-path"] {
  fill: none;
  stroke: var(--fandhe-color-fg);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

[data-scope="signature-pad"][data-part="guide"] {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 1.5rem;
  border-bottom: 1px dashed var(--fandhe-color-border);
}

[data-scope="signature-pad"][data-part="clear-trigger"] {
  align-self: flex-start;
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.25rem;
  background: var(--fandhe-color-bg);
  padding: 0.25rem 0.75rem;
  cursor: pointer;
}
[data-scope="toggle"][data-part="root"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--fandhe-space-1);
  box-sizing: border-box;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  padding: var(--fandhe-toggle-padding-y, 0.375rem) var(--fandhe-toggle-padding-x, 0.75rem);
  font-size: var(--fandhe-toggle-font-size, var(--fandhe-font-font-size-sm));
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

[data-scope="toggle"][data-part="indicator"] {
  display: inline-flex;
}

[data-scope="toggle"][data-part="root"].fd-toggle--size-sm {
  --fandhe-toggle-padding-y: 0.25rem;
  --fandhe-toggle-padding-x: 0.5rem;
  --fandhe-toggle-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="toggle"][data-part="root"].fd-toggle--size-md {
  --fandhe-toggle-padding-y: 0.375rem;
  --fandhe-toggle-padding-x: 0.75rem;
  --fandhe-toggle-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="toggle"][data-part="root"].fd-toggle--size-lg {
  --fandhe-toggle-padding-y: 0.5rem;
  --fandhe-toggle-padding-x: 1rem;
  --fandhe-toggle-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="toggle"][data-part="root"].fd-toggle--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="toggle"][data-part="root"].fd-toggle--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="toggle"][data-part="root"].fd-toggle--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="toggle"][data-part="root"].fd-toggle--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="toggle"][data-part="root"].fd-toggle--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="toggle"][data-part="root"][data-state="on"] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-palette-fg);
}

[data-scope="toggle"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="toggle"][data-part="root"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="toggle"][data-part="indicator"][data-state="off"] {
  display: none;
}
[data-scope="toggle-group"][data-part="root"] {
  display: inline-flex;
  gap: var(--fandhe-space-1);
}

[data-scope="toggle-group"][data-part="item"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  padding: var(--fandhe-toggle-group-item-padding-y, 0.375rem) var(--fandhe-toggle-group-item-padding-x, 0.75rem);
  font-size: var(--fandhe-toggle-group-item-font-size, var(--fandhe-font-font-size-sm));
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--size-sm {
  --fandhe-toggle-group-item-padding-y: 0.25rem;
  --fandhe-toggle-group-item-padding-x: 0.5rem;
  --fandhe-toggle-group-item-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--size-md {
  --fandhe-toggle-group-item-padding-y: 0.375rem;
  --fandhe-toggle-group-item-padding-x: 0.75rem;
  --fandhe-toggle-group-item-font-size: var(--fandhe-font-font-size-sm);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--size-lg {
  --fandhe-toggle-group-item-padding-y: 0.5rem;
  --fandhe-toggle-group-item-padding-x: 1rem;
  --fandhe-toggle-group-item-font-size: var(--fandhe-font-font-size-md);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--color-palette-accent {
  --fandhe-palette: var(--fandhe-color-accent);
  --fandhe-palette-emphasized: var(--fandhe-color-accent-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-accent-fg);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--color-palette-info {
  --fandhe-palette: var(--fandhe-color-info);
  --fandhe-palette-emphasized: var(--fandhe-color-info-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-info-fg);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--color-palette-success {
  --fandhe-palette: var(--fandhe-color-success);
  --fandhe-palette-emphasized: var(--fandhe-color-success-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-success-fg);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--color-palette-warning {
  --fandhe-palette: var(--fandhe-color-warning);
  --fandhe-palette-emphasized: var(--fandhe-color-warning-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-warning-fg);
}

[data-scope="toggle-group"][data-part="root"].fd-toggle-group--color-palette-danger {
  --fandhe-palette: var(--fandhe-color-danger);
  --fandhe-palette-emphasized: var(--fandhe-color-danger-emphasized);
  --fandhe-palette-fg: var(--fandhe-color-danger-fg);
}

[data-scope="toggle-group"][data-part="root"][data-orientation="vertical"] {
  flex-direction: column;
}

[data-scope="toggle-group"][data-part="root"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="toggle-group"][data-part="item"][data-state="on"] {
  background: var(--fandhe-palette, var(--fandhe-color-accent));
  border-color: var(--fandhe-palette, var(--fandhe-color-accent));
  color: var(--fandhe-palette-fg);
}

[data-scope="toggle-group"][data-part="item"][data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-scope="toggle-group"][data-part="item"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="toolbar"][data-part="root"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-2);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.5rem;
  padding: var(--fandhe-space-2);
  background: var(--fandhe-color-bg);
}

[data-scope="toolbar"][data-part="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--fandhe-color-fg);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
}

[data-scope="toolbar"][data-part="link"] {
  display: inline-flex;
  align-items: center;
  color: var(--fandhe-color-fg);
  text-decoration: none;
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
}

[data-scope="toolbar"][data-part="separator"] {
  background: var(--fandhe-color-border);
  width: 1px;
  align-self: stretch;
}

[data-scope="toolbar"][data-part="toggle-group"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
}

[data-scope="toolbar"][data-part="toggle-item"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--fandhe-color-fg);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-2);
}

[data-scope="toolbar"][data-part="root"][data-orientation="vertical"] {
  flex-direction: column;
}

[data-scope="toolbar"][data-part="separator"][aria-orientation="horizontal"] {
  height: 1px;
  width: 100%;
  align-self: auto;
}

[data-scope="toolbar"][data-part="toggle-item"][data-state="on"] {
  background: var(--fandhe-color-accent-subtle);
  border-color: var(--fandhe-color-accent);
}

[data-scope="toolbar"][data-part="button"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="toolbar"][data-part="toggle-item"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="toolbar"][data-part="button"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="toolbar"][data-part="link"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}

[data-scope="toolbar"][data-part="toggle-item"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="menubar"][data-part="root"] {
  display: flex;
  align-items: center;
  gap: var(--fandhe-space-1);
  border-bottom: 1px solid var(--fandhe-color-border);
  background: var(--fandhe-color-bg);
  padding: var(--fandhe-space-1);
}

[data-scope="menubar"][data-part="menu"] {
  position: relative;
}

[data-scope="menubar"][data-part="trigger"] {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: var(--fandhe-color-fg);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
}

[data-scope="menubar"][data-part="positioner"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
}

[data-scope="menubar"][data-part="content"] {
  position: relative;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-2);
  min-width: 10rem;
}

[data-scope="menubar"][data-part="item"] {
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="menubar"][data-part="item-group"] {
  display: flex;
  flex-direction: column;
}

[data-scope="menubar"][data-part="item-group-label"] {
  color: var(--fandhe-color-fg-muted);
  font-size: var(--fandhe-font-font-size-sm);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
}

[data-scope="menubar"][data-part="separator"] {
  border: 0;
  border-top: 1px solid var(--fandhe-color-border);
  margin: var(--fandhe-space-2) 0;
}

[data-scope="menubar"][data-part="sub-trigger"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
  cursor: pointer;
  border-radius: 0.25rem;
}

[data-scope="menubar"][data-part="sub-content"] {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 10;
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-2);
  min-width: 10rem;
}

[data-scope="menubar"][data-part="root"][data-orientation="vertical"] {
  flex-direction: column;
}

[data-scope="menubar"][data-part="trigger"][data-state="open"] {
  background: var(--fandhe-color-accent-subtle);
}

[data-scope="menubar"][data-part="sub-trigger"][data-state="open"] {
  background: var(--fandhe-color-accent-subtle);
}

[data-scope="menubar"][data-part="item"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="menubar"][data-part="sub-trigger"][data-highlighted] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="menubar"][data-part="trigger"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="menubar"][data-part="item"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="menubar"][data-part="sub-trigger"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="menubar"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="navigation-menu"][data-part="root"] {
  display: flex;
  align-items: center;
}

[data-scope="navigation-menu"][data-part="list"] {
  display: flex;
  align-items: flex-start;
  gap: var(--fandhe-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-scope="navigation-menu"][data-part="item"] {
  position: relative;
}

[data-scope="navigation-menu"][data-part="trigger"] {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: var(--fandhe-color-fg);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  padding: var(--fandhe-space-1) var(--fandhe-space-3);
}

[data-scope="navigation-menu"][data-part="content"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  margin-top: var(--fandhe-space-1);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  border: 1px solid var(--fandhe-color-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  padding: var(--fandhe-space-2);
  min-width: 10rem;
}

[data-scope="navigation-menu"][data-part="link"] {
  display: block;
  color: var(--fandhe-color-fg);
  text-decoration: none;
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
  border-radius: 0.25rem;
}

[data-scope="navigation-menu"][data-part="trigger"][data-state="open"] {
  background: var(--fandhe-color-accent-subtle);
}

[data-scope="navigation-menu"][data-part="link"][data-current] {
  background: var(--fandhe-color-accent);
  color: var(--fandhe-color-accent-fg);
}

[data-scope="navigation-menu"][data-part="trigger"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="navigation-menu"][data-part="item"][data-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-scope="navigation-menu"][data-part="trigger"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="tab-nav"][data-part="root"] {
  display: flex;
  gap: var(--fandhe-space-2);
  border-bottom: 1px solid var(--fandhe-color-border);
}

[data-scope="tab-nav"][data-part="link"] {
  padding: var(--fandhe-tab-nav-link-padding, var(--fandhe-space-2) var(--fandhe-space-4));
  background: transparent;
  color: var(--fandhe-color-fg-muted);
  border: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

[data-scope="tab-nav"][data-part="link"][aria-current="page"] {
  color: var(--fandhe-color-fg);
  border-bottom-color: var(--fandhe-palette, var(--fandhe-color-accent));
}

[data-scope="tab-nav"][data-part="link"]:focus-visible {
  outline: 2px solid var(--fandhe-color-accent);
  outline-offset: 2px;
}
[data-scope="link"][data-part="root"] {
  color: var(--fandhe-color-accent, var(--fandhe-color-fg));
  text-decoration: var(--fandhe-link-text-decoration, none);
  cursor: pointer;
}

[data-scope="link"][data-part="root"].fd-link--variant-plain {
  --fandhe-link-text-decoration: none;
}

[data-scope="link"][data-part="root"].fd-link--variant-underline {
  --fandhe-link-text-decoration: underline;
}

[data-scope="link"][data-part="root"][aria-current="page"] {
  font-weight: var(--fandhe-font-font-weight-medium);
}
[data-scope="nav-list"][data-part="heading"] {
  font-size: var(--fandhe-font-font-size-sm);
  font-weight: var(--fandhe-font-font-weight-medium);
  color: var(--fandhe-color-fg-muted);
  margin: 0;
}

[data-scope="nav-list"][data-part="list"] {
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-scope="nav-list"][data-part="link"] {
  display: block;
  color: var(--fandhe-color-fg);
  text-decoration: none;
}

[data-scope="nav-list"][data-part="link"][aria-current="page"] {
  color: var(--fandhe-color-accent, var(--fandhe-color-fg));
  font-weight: var(--fandhe-font-font-weight-medium);
}
[data-scope="clipboard"][data-part="root"] {
  display: inline-flex;
  flex-direction: column;
  gap: var(--fandhe-space-1);
}

[data-scope="clipboard"][data-part="control"] {
  display: inline-flex;
  align-items: center;
  gap: var(--fandhe-space-2);
}

[data-scope="clipboard"][data-part="input"] {
  flex: 1;
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  padding: var(--fandhe-space-2);
  background: var(--fandhe-color-bg-subtle);
  color: var(--fandhe-color-fg);
  font-family: monospace;
}

[data-scope="clipboard"][data-part="trigger"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--fandhe-space-1);
  border: 1px solid var(--fandhe-color-border);
  border-radius: var(--fandhe-radius-md);
  padding: var(--fandhe-space-2) var(--fandhe-space-3);
  background: var(--fandhe-color-bg);
  color: var(--fandhe-color-fg);
  cursor: pointer;
}

[data-scope="clipboard"][data-part="indicator"] {
  align-items: center;
}

[data-scope="clipboard"][data-part="value-text"] {
  font-family: monospace;
  word-break: break-all;
}

[data-scope="clipboard"][data-part="trigger"][data-copied] {
  border-color: var(--fandhe-color-success, var(--fandhe-color-accent));
  color: var(--fandhe-color-success, var(--fandhe-color-accent));
}

[data-scope="clipboard"][data-part="indicator"][data-state="hidden"] {
  display: none;
}
.pre-styled-showcase {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.showcase-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin: 1rem 0;
}
.showcase-stack {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 1rem 0;
  max-width: 36rem;
}
.showcase-form-field-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
}
.pre-styled-showcase [data-scope="accordion"] h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}
.pre-styled-showcase [data-scope="dialog"][data-part="backdrop"],
.pre-styled-showcase [data-scope="drawer"][data-part="backdrop"] {
  display: none;
}
.pre-styled-showcase [data-scope="dialog"][data-part="positioner"] {
  position: static;
  padding: 0;
  justify-content: flex-start;
}
.pre-styled-showcase [data-scope="drawer"][data-part="positioner"] {
  position: static;
}
.pre-styled-showcase [data-scope="menu"][data-part="positioner"],
.pre-styled-showcase [data-scope="menubar"][data-part="positioner"],
.pre-styled-showcase [data-scope="select"][data-part="positioner"],
.pre-styled-showcase [data-scope="combobox"][data-part="positioner"],
.pre-styled-showcase [data-scope="popover"][data-part="positioner"],
.pre-styled-showcase [data-scope="tooltip"][data-part="positioner"],
.pre-styled-showcase [data-scope="hover-card"][data-part="positioner"],
.pre-styled-showcase [data-scope="toggle-tip"][data-part="positioner"] {
  position: static;
}
.pre-styled-showcase [data-scope="menubar"][data-part="root"] {
  align-items: flex-start;
}
.pre-styled-showcase [data-scope="action-bar"][data-part="positioner"] {
  position: static;
  transform: none;
}
.pre-styled-showcase [data-scope="floating-panel"][data-part="positioner"] {
  position: static;
  transform: none;
  z-index: auto;
}
.pre-styled-showcase [data-scope="dialog"] h2,
.pre-styled-showcase [data-scope="drawer"] h2,
.pre-styled-showcase [data-scope="popover"] h2,
.pre-styled-showcase [data-scope="floating-panel"] h2 {
  border-top: none;
  padding-top: 0;
  letter-spacing: normal;
}
.pre-styled-showcase [data-scope="toast"][data-part="group"] {
  position: static;
}
.pre-styled-showcase [data-scope="blockquote"][data-part="content"] {
  padding: 0;
  border-left: none;
  color: inherit;
}
.pre-styled-showcase [data-scope="navigation-menu"][data-part="content"] {
  position: static;
}
.pre-styled-showcase [data-scope="tour"][data-part="backdrop"],
.pre-styled-showcase [data-scope="tour"][data-part="spotlight"] {
  display: none;
}
.pre-styled-showcase [data-scope="tour"][data-part="positioner"] {
  position: static;
  transform: none;
  z-index: auto;
}
.pre-styled-showcase [data-scope="link-overlay"][data-part="root"] {
  position: relative;
}
.pre-styled-showcase [data-scope="link-overlay"][data-part="overlay"] {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.pre-styled-showcase [data-scope="link-overlay"][data-part="root"] h3 {
  margin-top: 0;
}
.pre-styled-showcase [data-scope="nav-list"][data-part="heading"] {
  border-top: none;
  padding-top: 0;
  letter-spacing: normal;
}
.pre-styled-showcase [data-scope="link"][data-part="root"]:hover {
  text-decoration: var(--fandhe-link-text-decoration, none);
}
.pre-styled-showcase [data-scope="nav-list"][data-part="link"]:hover {
  text-decoration: none;
}
