/* Fase 6.6: reset, typography, page grid background. */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background:
    repeating-linear-gradient(0deg, rgba(0, 255, 163, 0.035) 0px, rgba(0, 255, 163, 0.035) 1px, transparent 1px, transparent 32px),
    repeating-linear-gradient(90deg, rgba(0, 255, 163, 0.035) 0px, rgba(0, 255, 163, 0.035) 1px, transparent 1px, transparent 32px),
    var(--bg);
  color: var(--text);
  font-family: var(--font-ui);
  line-height: 1.4;
  min-height: 100vh;
}
h1, h2, h3, h4, p { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
::selection { background: rgba(0, 255, 163, 0.25); }

.num { font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.up { color: var(--neon-green); }
.down { color: var(--neon-red); }
.neutral { color: var(--muted); }
.up.glow-num { text-shadow: var(--glow-green); }
.down.glow-num { text-shadow: var(--glow-red); }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
