:root {
  --bg: #0b0f14;
  --panel: #0f1621;
  --text: #e6edf3;
  --muted: rgba(230, 237, 243, 0.75);
  --border: rgba(230, 237, 243, 0.14);
  --link: #7dd3fc;
  --link-hover: #a5f3fc;
  --radius: 14px;
  --max: 980px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial;
  line-height: 1.55;
}

a { color: var(--link); text-decoration: none; }
a:hover { color: var(--link-hover); text-decoration: underline; }

.site-header, .site-footer, .site-main { width: 100%; }

.nav, .site-main, .footer-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px 22px;
}

.site-main {
  padding-top: 28px;
  padding-bottom: 64px;
}

.nav {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}

.nav-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.nav-links a { margin-left: 14px; }

.muted { color: var(--muted); }

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0;
}

.pill {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 12px;
}

.card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  margin: 14px 0;
}

.grid-2 {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
}

@media (max-width: 860px) {
  .grid-2 { grid-template-columns: 1fr; }
}

hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 18px 0;
}

pre, code, table { max-width: 100%; overflow-x: auto; }

.avatar {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--border);
  margin-right: 10px;
  vertical-align: middle;
}

.hero-top {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.profile-pic {
  width: 200px;
  height: 200px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--border);
  background: var(--panel);
}

.hero-title { margin: 0 0 8px 0; }
.hero-subtitle { margin: 0; max-width: 70ch; }
