/* ==========================================================================
   ELYON AI — Reset
   Base moderna. No usa normalize.css de terceros: solo lo que el proyecto
   necesita, nada más.
   ========================================================================== */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  color-scheme: dark;
}

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

body {
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background-color: var(--bg-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  cursor: none;
}

@media (hover: none) and (pointer: coarse) {
  body {
    cursor: auto;
  }
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/* Los campos donde se escribe SIEMPRE muestran el cursor de texto,
   aunque el body oculte el cursor para el puntero personalizado.
   Sin esto, en escritorio parece que no se puede escribir. */
input, textarea, select, [contenteditable] {
  cursor: auto;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], textarea {
  cursor: text;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

::selection {
  background: rgba(var(--accent-violet-rgb), 0.35);
  color: var(--text-primary);
}

::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
  background: var(--bg-elevated);
  border-radius: var(--radius-full);
  border: 2px solid var(--bg-primary);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--accent-violet);
}

:focus-visible {
  outline: 2px solid var(--accent-cyan);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

:focus:not(:focus-visible) {
  outline: none;
}
