/*
 * Aigenix Core frontend foundations.
 * Loaded only as a dependency of used Aigenix widgets.
 */

.aigenix-widget {
  --aigenix-core-brand: var(--av-color-brand, #3b6df6);
  --aigenix-core-brand-hover: var(--av-color-brand-hover, #5d8dff);
  --aigenix-core-accent: var(--av-color-accent, #f63f88);
  --aigenix-core-secondary: var(--av-color-secondary-400, #22d3ee);
  --aigenix-core-text: var(--av-text-primary, #f8fbff);
  --aigenix-core-text-secondary: var(--av-text-secondary, #c8d3e5);
  --aigenix-core-text-muted: var(--av-text-muted, #91a0b8);
  --aigenix-core-surface: var(--av-bg-surface, rgba(12, 18, 37, 0.88));
  --aigenix-core-surface-strong: var(--av-bg-surface-strong, #0b1020);
  --aigenix-core-glass: var(--av-bg-glass, rgba(255, 255, 255, 0.075));
  --aigenix-core-border: var(--av-border-subtle, rgba(255, 255, 255, 0.12));
  --aigenix-core-border-strong: var(--av-border-strong, rgba(255, 255, 255, 0.24));
  --aigenix-core-gradient: var(--av-color-brand, #3b6df6);
  --aigenix-core-radius-sm: var(--av-radius-sm, 8px);
  --aigenix-core-radius-md: var(--av-radius-md, 12px);
  --aigenix-core-radius-lg: var(--av-radius-lg, 16px);
  --aigenix-core-radius-xl: var(--av-radius-xl, 24px);
  --aigenix-core-radius-full: var(--av-radius-md, 12px);
  --aigenix-core-shadow: var(--av-shadow-sm, 0 8px 24px rgba(0, 0, 0, 0.18));
  --aigenix-core-shadow-strong: var(--av-shadow-md, 0 18px 48px rgba(0, 0, 0, 0.28));
  --aigenix-core-font-display: var(--av-font-display, Inter, ui-sans-serif, system-ui, sans-serif);
  --aigenix-core-font-body: var(--av-font-sans, Inter, ui-sans-serif, system-ui, sans-serif);
  box-sizing: border-box;
}

.aigenix-widget *,
.aigenix-widget *::before,
.aigenix-widget *::after {
  box-sizing: border-box;
}

.aigenix-widget a {
  color: inherit;
}

.aigenix-widget :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--aigenix-core-brand) 50%, transparent);
  outline-offset: 3px;
}

.aigenix-highlight {
  color: var(--aigenix-core-brand-hover);
}

@media (prefers-reduced-motion: reduce) {
  .aigenix-widget *,
  .aigenix-widget *::before,
  .aigenix-widget *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
