/* Small deployment-safe fixes kept separate from the generated stylesheet. */

/* The chat panel is 320px wide in the bundle; keep it inside narrow screens. */
@media (max-width: 359px) {
  .fixed.bottom-20.left-6.w-80 {
    right: 0.75rem;
    left: 0.75rem;
    width: auto;
    max-width: calc(100vw - 1.5rem);
  }
}

/* Preserve a visible keyboard focus indicator on all interactive controls. */
:where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Respect the operating-system motion preference, including utility classes. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}
