:root[data-theme="light"] {
  --bg: #ffffff;
  --text: #111827;
  --muted: #6b7280;
}
:root[data-theme="dark"] {
  --bg: #0b1020;
  --text: #e5e7eb;
  --muted: #9ca3af;
}

html[data-theme] {
  background: var(--bg);
  color: var(--text);
}

.skip-link {
  position: absolute;
  left: -9999px;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
  z-index: 1000;
}

header.container { margin-top: 1rem; }
footer.container { margin: 4rem auto; opacity: 0.8; }

#content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.hero {
  padding: 2rem 1.25rem;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(16,185,129,0.15));
  border: 1px solid rgba(255,255,255,0.08);
}

.grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.card {
  padding: 1rem;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
}

pre code {
  border-radius: 10px;
}