/* =============================
   BASE: VARIABLES & BACKGROUND
   ============================= */
:root {
  --bg: #ffffff;

  /* Graphite Pencil Palette */
  --graphite-primary: #2B2F33;
  --graphite-secondary: #3C4247;
  --graphite-muted: #626A70;
  --graphite-accent: #AAB1B6;

  /* Electric Blueprint Theme */
  --electric: #00A8FF;
  --electric-light: rgba(0, 168, 255, 0.35);
  --dot-log-active: var(--electric);
  --dot-log-inactive: var(--electric-light);
  --dot-repo-active: #0ea5e9;
  --dot-repo-inactive: rgba(14, 165, 233, 0.35);
  --dot-tag-active: var(--graphite-secondary);
  --dot-tag-inactive: rgba(60, 66, 71, 0.35);
  --line: rgba(0, 168, 255, 0.15);
  --thin: 1px;

  --font-main: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Graph paper background */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--line) var(--thin), transparent var(--thin)),
    linear-gradient(90deg, var(--line) var(--thin), transparent var(--thin));
  background-size: 40px 40px;
  z-index: -1;
}

/* Typography + body defaults */
body {
  margin: 0;
  padding: 2rem;
  min-height: 100vh;
  background: var(--bg);
  color: var(--graphite-primary);
  font-family: var(--font-main);
  display: flex;
  flex-direction: column;
  align-items: center;
}

h1 {
  font-size: 3rem;
  margin: 0.5rem 0 0.25rem;
  font-weight: 300;
  color: var(--electric);
  letter-spacing: 0.04em;
  text-align: center;
}

.subtitle {
  margin-top: 0;
  font-size: 1.1rem;
  text-align: center;
  color: var(--graphite-secondary);
  max-width: 600px;
  opacity: 0.85;
}

footer {
  margin-top: auto;
  font-size: 0.85rem;
  color: var(--graphite-muted);
  padding-top: 3rem;
}

/* Responsive */
@media (max-width: 768px) {
  h1 {
    font-size: clamp(2rem, 6vw, 2.5rem);
  }
}
