/* Critical styles - loaded before page renders to prevent layout shifts */

html,
body,
#root {
  margin: 0;
  padding: 0;
}

html {
  /* Anchor height to viewport for proper height inheritance chain */
  height: 100%;
}

body {
  /* Dynamic viewport height with fallbacks */
  height: 100%;
  min-height: 100vh; /* Fallback */
  min-height: 100dvh; /* Modern browsers */
  min-height: -webkit-fill-available; /* iOS Safari */
  -webkit-font-smoothing: antialiased;
}

#root {
  /* Inherit full height from body to enable h-dvh on children */
  height: 100%;
}

/* Custom scrollbar hiding utilities */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.material-symbols-outlined {
  font-variation-settings:
    'FILL' 1,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24;
  user-select: none;
}
