/* xollvm docs — theme tweaks */

:root {
  --md-primary-fg-color:        #6d40c4;
  --md-primary-fg-color--light: #8b5cf6;
  --md-primary-fg-color--dark:  #4c2a8f;
  --md-accent-fg-color:         #6366f1;
}

/* Landing hero */
.xo-hero {
  text-align: center;
  padding: 2.2rem 0 1.2rem;
}
.xo-hero img { width: 120px; height: auto; }
.xo-hero h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0.6rem 0 0.2rem;
}
.xo-hero .xo-tagline {
  color: var(--md-default-fg-color--light);
  font-size: 1.05rem;
  margin-bottom: 1.2rem;
}

/* Badge row */
.xo-badges { text-align: center; margin: 0.5rem 0 1.5rem; }
.xo-badges img { margin: 2px 3px; vertical-align: middle; }

/* Feature grid (works with attr_list + md_in_html) */
.xo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.xo-card {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.6rem;
  padding: 1rem 1.1rem;
  transition: border-color .2s, transform .2s;
}
.xo-card:hover {
  border-color: var(--md-accent-fg-color);
  transform: translateY(-2px);
}
.xo-card h3 { margin-top: 0.2rem; font-size: 1rem; }
.xo-card p  { margin-bottom: 0; color: var(--md-default-fg-color--light); font-size: .85rem; }

/* Slightly tighter tables */
.md-typeset table:not([class]) th { font-weight: 700; }

/* Pass-category pills used in the pass index */
.xo-pill {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  color: #fff;
}
.xo-pill.expr  { background: #2563eb; }
.xo-pill.cfg   { background: #16a34a; }
.xo-pill.call  { background: #db2777; }
.xo-pill.post  { background: #d97706; }
.xo-pill.mod   { background: #7c3aed; }
.xo-pill.vm    { background: #dc2626; }
