/* Global styles for accessibility modes */

/* CSS Reset - Remove default margins and paddings */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

#root {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
}

/* Load Roboto - primary UI font */
@font-face {
  font-family: 'Roboto-Regular';
  src: url('/fonts/Roboto-Regular.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-Medium';
  src: url('/fonts/Roboto-Medium.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-Bold';
  src: url('/fonts/Roboto-Bold.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-Italic';
  src: url('/fonts/Roboto-Italic.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-BoldItalic';
  src: url('/fonts/Roboto-BoldItalic.ttf') format('truetype');
  font-display: swap;
}

/* Load Poppins - secondary UI font */
@font-face {
  font-family: 'Poppins-Regular';
  src: url('/fonts/Poppins-Regular.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-Medium';
  src: url('/fonts/Poppins-Medium.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-SemiBold';
  src: url('/fonts/Poppins-SemiBold.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-Bold';
  src: url('/fonts/Poppins-Bold.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-Italic';
  src: url('/fonts/Poppins-Italic.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-SemiBoldItalic';
  src: url('/fonts/Poppins-SemiBoldItalic.ttf') format('truetype');
  font-display: swap;
}

/* Load Atkinson Hyperlegible - a dyslexia-friendly font */
/* Bundled locally for offline support and instant loading */
@font-face {
  font-family: 'AtkinsonHyperlegible-400';
  src: url('/fonts/AtkinsonHyperlegible-400.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'AtkinsonHyperlegible-700';
  src: url('/fonts/AtkinsonHyperlegible-700.ttf') format('truetype');
  font-display: swap;
}

/* Load OpenDyslexic - specifically designed for dyslexia */
@font-face {
  font-family: 'OpenDyslexic-Regular';
  src: url('/fonts/OpenDyslexic-Regular.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic-Bold';
  src: url('/fonts/OpenDyslexic-Bold.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic-Italic';
  src: url('/fonts/OpenDyslexic-Italic.ttf') format('truetype');
  font-display: swap;
}

@font-face {
  font-family: 'OpenDyslexic-BoldItalic';
  src: url('/fonts/OpenDyslexic-BoldItalic.ttf') format('truetype');
  font-display: swap;
}

/* Default body font */
body {
  font-family:
    'Roboto',
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    'Helvetica Neue',
    Arial,
    sans-serif;
  --reading-fluency-body-font:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
    Arial, sans-serif;
}

/* Apply dyslexia-friendly font when dyslexia-mode is enabled */
body.dyslexia-mode,
body.dyslexia-mode * {
  --reading-fluency-body-font:
    'OpenDyslexic-Regular', 'AtkinsonHyperlegible-400', Arial, sans-serif !important;
  font-family:
    'OpenDyslexic-Regular', 'AtkinsonHyperlegible-400', Arial, sans-serif !important;
  /* Additional spacing improvements for dyslexia */
  letter-spacing: 0.05em !important;
  line-height: 1.8 !important;
}

/* Apply uppercase style when uppercase-mode is enabled */
body.uppercase-mode * {
  text-transform: uppercase;
}
