*, *::before, *::after { box-sizing: border-box; }
:root {
  --bg: #0a0e14; --bg-alt: #0f1419; --bg-card: #151b23;
  --text: #e6edf3; --text-muted: #9da5b0; --text-dim: #6e7681;
  --accent: #58a6ff; --accent-glow: rgba(88,166,255,0.15);
  --primary: #0033AA; --primary-glow: rgba(0,51,170,0.25);
  --border: #21262d; --border-hover: #30363d;
  --green: #3fb950; --orange: #d29922; --red: #f85149;
}
@media (prefers-color-scheme: light) {
  :root {
    --bg: #f6f8fa; --bg-alt: #ffffff; --bg-card: #ffffff;
    --text: #1f2328; --text-muted: #656d76; --text-dim: #8b949e;
    --border: #d0d7de; --border-hover: #afb8c1;
    --accent-glow: rgba(88,166,255,0.08);
    --primary-glow: rgba(0,51,170,0.1);
  }
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  background: var(--bg); color: var(--text);
  margin: 0; padding: 0; line-height: 1.6; min-height: 100vh;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
/* Nav */
nav {
  display: flex; gap: 1.5rem; justify-content: center;
  padding: 1rem; border-bottom: 1px solid var(--border);
  background: var(--bg-alt); position: sticky; top: 0; z-index: 10;
}
nav a { color: var(--text-muted); font-weight: 500; font-size: 0.95rem; padding: 0.5rem 0; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; }
nav a:hover { color: var(--accent); text-decoration: none; border-bottom-color: var(--accent); }
nav a.active { color: var(--accent); border-bottom-color: var(--accent); }
/* Footer */
footer {
  text-align: center; padding: 2.5rem 1rem; border-top: 1px solid var(--border);
  background: var(--bg-alt); color: var(--text-muted); font-size: 0.85rem;
}
footer .footer-main { font-size: 1rem; color: var(--text); margin-bottom: 0.5rem; }
footer .footer-links a { color: var(--accent); }
footer .footer-meta { font-size: 0.8rem; margin-top: 0.5rem; }
footer .footer-power { font-size: 0.75rem; opacity: 0.6; margin-top: 0.5rem; }
footer .footer-power a { color: var(--text-muted); }
/* Responsive */
@media (max-width: 600px) { .container { padding: 0.75rem; } }