/* ── NeuroDinoWorld Accessibility Modes ───────────────────────────────── */
/* An @import only works above every rule, so the Dyslexia Font's Lexend loads from here. */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;700;800&display=swap');

/* Large Text */
body.a11y-large-text { font-size: 120% !important; }
body.a11y-large-text .sec, body.a11y-large-text p,
body.a11y-large-text div { line-height: 1.7 !important; }

/* Dyslexia-friendly font */
body.a11y-dyslexia,
body.a11y-dyslexia p,
body.a11y-dyslexia div,
body.a11y-dyslexia button,
body.a11y-dyslexia input,
body.a11y-dyslexia label {
  font-family: 'Lexend', sans-serif !important;
  letter-spacing: 0.05em !important;
  word-spacing: 0.1em !important;
  line-height: 1.8 !important;
}

/* Reduced Motion */
body.a11y-reduced-motion *,
body.a11y-reduced-motion *::before,
body.a11y-reduced-motion *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

/* Low Stimulation — muted colours, no gradients */
body.a11y-low-stim {
  filter: saturate(0.4) brightness(0.95);
}
body.a11y-low-stim [style*="animation"],
body.a11y-low-stim .float,
body.a11y-low-stim .pulse {
  animation: none !important;
}

/* No Characters — hide character portraits and emoji decorations */
body.a11y-no-chars .char-portrait,
body.a11y-no-chars .char-emoji,
body.a11y-no-chars [class*="portrait"],
body.a11y-no-chars img[alt*="character"],
body.a11y-no-chars img[alt*="Rex"],
body.a11y-no-chars img[alt*="Marina"],
body.a11y-no-chars img[alt*="Aurora"],
body.a11y-no-chars img[alt*="Duke"] {
  display: none !important;
}

/* Focus visible for keyboard users */
body *:focus-visible {
  outline: 3px solid #4cc9f0 !important;
  outline-offset: 3px !important;
}

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