html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: 'Quantico', 'Segoe UI', system-ui, sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
}

/* Sticky footer: body is a flex column at least as tall as the viewport, and
   the main content wrapper grows to push the disclaimer footer to the bottom
   when content is short (it still flows below long/scrolling content). */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body > .container {
  flex: 1 0 auto;
}
body > .site-disclaimer {
  flex-shrink: 0;
}

/* All headings + navbar brand use Orbitron for that "C&C UI" sci-fi look.
   Body text stays on Quantico for readability in dense tables. */
h1, h2, h3, h4, h5, h6, .navbar-brand {
  font-family: 'Orbitron', 'Segoe UI', system-ui, sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}

/* Keep monospace where we actually want monospace (raw ids, player ids). */
code, kbd, pre, samp {
  font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
}

/* Focus ring is themed in ra-theme.css (Allied-blue glow). */

html {
  position: relative;
  min-height: 100%;
}