@layer reset, base, variants, sizes, states;
@layer reset {
  :host {
    display: inline-flex;
  }
  :host,
  :host *,
  :host ::before,
  :host ::after {
    box-sizing: border-box;
  }
  :host,
  :host *:not(dialog) {
    margin: 0;
  }
  :host {
    padding: 0;
    min-inline-size: 0;
    min-block-size: 0;
  }
  :host > * {
    interpolate-size: allow-keywords;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-family: var(--dds-font-family);
    font-feature-settings: var(--dds-font-features);
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
  }
  :host :focus-visible {
    outline: 2px solid var(--dds-color-border-focus);
  }
}
@layer base {
  :host {
    --_link-color: var(--dds-link-color, var(--dds-link-default-color));
    --_link-font-size: var(--dds-link-font-size, var(--dds-link-font-size-m));
    --_link-gap: var(--dds-link-gap, var(--dds-link-gap-m));
    --_link-font-weight: var(--dds-link-font-weight);
    --_link-transition-duration: var(--dds-link-transition-duration);
    --_link-disabled-opacity: var(--dds-link-disabled-opacity);
  }
  :host [data-part=root] {
    display: inline-flex;
    align-items: center;
    gap: var(--_link-gap);
    border-radius: 2px;
    color: var(--_link-color);
    font-size: var(--_link-font-size);
    font-weight: var(--_link-font-weight);
    text-decoration: none;
    cursor: pointer;
    transition: color var(--_link-transition-duration);
  }
  :host [data-part=label] {
    text-decoration: underline;
    text-underline-position: under;
    text-decoration-thickness: 1px;
  }
}
@layer variants {
  :host([variant=subtle]) [data-part=label] {
    text-decoration: none;
  }
  :host([variant=ai]) {
    --dds-link-color: var(--dds-link-ai-color);
  }
}
@layer sizes {
  :host([size=s]) {
    --dds-link-font-size: var(--dds-link-font-size-s);
    --dds-link-gap: var(--dds-link-gap-s);
  }
}
@layer states {
  :host(:hover) {
    --dds-link-color: var(--dds-link-default-color-hover);
  }
  :host([variant=ai]:hover) {
    --dds-link-color: var(--dds-link-ai-color-hover);
  }
  :host([variant=subtle]:hover) [data-part=label] {
    text-decoration: underline;
  }
  :host([disabled]) {
    pointer-events: none;
  }
  :host([disabled]) [data-part=root] {
    cursor: not-allowed;
    opacity: var(--_link-disabled-opacity);
  }
}