:root {
  color-scheme: light;
}

html, body {
  background: #FAFBFD;
  color: #1A2332;
  -webkit-tap-highlight-color: transparent;
}
body {
  overflow-x: hidden;
}

/* Three.js hero canvas container */
#three-hero {
  position: absolute;
  inset: 0;
  z-index: 0;
}
#three-hero canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* Scroll reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 600ms ease, transform 600ms ease;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #FAFBFD; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #2B5F8A; }

/* Selection */
::selection {
  background: #2B5F8A;
  color: #FFFFFF;
}

/* Small-screen polish */
@media (max-width: 640px) {
  .chart-frame { min-height: 300px; padding: 0.5rem; }
}

/* Reduce flash of unstyled Tailwind CDN load */
body { min-height: 100vh; }
