@layer sw.tokens.base, sw.tokens.brand, sw.tokens.scheme, sw.tokens.skin, sw.tokens.contrast;
@layer sw.tokens.base, sw.tokens.brand, sw.tokens.scheme, sw.tokens.skin;

@layer sw.tokens.contrast {
  [data-sw-contrast="more"] {
    --sw-color-border-default: var(--sw-color-border-strong);
    --sw-color-border-subtle: var(--sw-color-border-default);
    --sw-color-surface-hover: var(--sw-color-surface-pressed);
    --sw-color-text-secondary: var(--sw-color-text-primary);
    --sw-focus-width: var(--sw-focus-width-more);
  }

  [data-sw-contrast="standard"] {
    --sw-color-border-default: var(--sw-color-border-default--skin);
    --sw-color-border-subtle: var(--sw-color-border-subtle--skin);
    --sw-color-surface-hover: var(--sw-color-surface-hover--skin);
    --sw-color-text-secondary: var(--sw-color-text-secondary--skin);
    --sw-focus-width: var(--sw-focus-width--skin);
  }

  @media (prefers-contrast: more) {
    [data-sw-contrast="system"] {
      --sw-color-border-default: var(--sw-color-border-strong);
      --sw-color-border-subtle: var(--sw-color-border-default);
      --sw-color-surface-hover: var(--sw-color-surface-pressed);
      --sw-color-text-secondary: var(--sw-color-text-primary);
      --sw-focus-width: var(--sw-focus-width-more);
    }
  }

  @media not all and (prefers-contrast: more) {
    [data-sw-contrast="system"] {
      --sw-color-border-default: var(--sw-color-border-default--skin);
      --sw-color-border-subtle: var(--sw-color-border-subtle--skin);
      --sw-color-surface-hover: var(--sw-color-surface-hover--skin);
      --sw-color-text-secondary: var(--sw-color-text-secondary--skin);
      --sw-focus-width: var(--sw-focus-width--skin);
    }
  }
}
