:root {
  --md-primary-fg-color: #0d1117;
  --md-primary-fg-color--dark: #0a0d12;
  --md-accent-fg-color: #a78bfa;
  --vgw-bg: #0b0e14;
  --vgw-bg-elev: #11151c;
  --vgw-line: #1d2430;
  --vgw-fg: #e6e9ef;
  --vgw-fg-mute: #9aa3b2;
  --vgw-accent: #a78bfa;
  --vgw-accent-soft: rgba(167, 139, 250, 0.14);
  --vgw-up: #a78bfa;
  --vgw-down: #d4635a;
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--vgw-bg);
  --md-code-bg-color: var(--vgw-bg-elev);
}

.md-typeset code {
  font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
}

/* ---- landing page (docs/index.md) --------------------------------- */

.vgw-hero {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 0 1rem;
  border-bottom: 1px solid var(--vgw-line);
  margin-bottom: 2rem;
}

.vgw-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pill {
  display: inline-block;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.02em;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--vgw-line);
  color: var(--vgw-fg-mute);
  background: var(--vgw-bg-elev);
}

.pill--accent {
  border-color: var(--vgw-accent);
  color: var(--vgw-accent);
  background: var(--vgw-accent-soft);
}

.vgw-hero__lede {
  font-size: 2.1rem;
  line-height: 1.2;
  margin: 0;
}

.vgw-hero__lede em {
  color: var(--vgw-accent);
  font-style: normal;
}

.vgw-hero__sub {
  max-width: 42rem;
  color: var(--vgw-fg-mute);
  font-size: 1.05rem;
}

.vgw-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.vgw-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.65rem 1.1rem;
  border-radius: 0.4rem;
  border: 1px solid var(--vgw-line);
  color: var(--vgw-fg) !important;
  background: var(--vgw-bg-elev);
  font-weight: 600;
  text-decoration: none !important;
}

.vgw-btn:hover {
  border-color: var(--vgw-accent);
}

.vgw-btn--primary {
  background: var(--vgw-accent);
  border-color: var(--vgw-accent);
  color: #04140d !important;
}

.vgw-btn--primary:hover {
  filter: brightness(1.08);
}

/* ticker strip */

.vgw-ticker {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8rem;
  color: var(--vgw-fg-mute);
  overflow: hidden;
  white-space: nowrap;
  border-top: 1px dashed var(--vgw-line);
  border-bottom: 1px dashed var(--vgw-line);
  padding: 0.6rem 0;
}

.vgw-ticker .up {
  color: var(--vgw-up);
}

.vgw-ticker .down {
  color: var(--vgw-down);
}

.vgw-ticker .sep {
  color: var(--vgw-line);
  margin: 0 0.6rem;
}

/* demo frame */

.vgw-demo {
  margin: 1.5rem 0 2.5rem;
  border: 1px solid var(--vgw-line);
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--vgw-bg-elev);
}

.vgw-demo img {
  display: block;
  width: 100%;
}

.vgw-demo__caption {
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  color: var(--vgw-fg-mute);
  border-top: 1px solid var(--vgw-line);
}

.vgw-demo__caption a {
  color: var(--vgw-accent);
}

/* section headers */

.vgw-section__head {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin: 2.5rem 0 1.25rem;
}

.vgw-section__num {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  color: var(--vgw-accent);
}

.vgw-section__head h2 {
  margin: 0;
  font-size: 1.4rem;
}

/* 3-step strip */

.vgw-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}

.vgw-step {
  padding: 1.25rem;
  border: 1px solid var(--vgw-line);
  border-radius: 0.4rem;
  background: var(--vgw-bg-elev);
}

.vgw-step__num {
  font-family: "JetBrains Mono", monospace;
  color: var(--vgw-accent);
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
}

.vgw-step h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
}

.vgw-step p {
  margin: 0;
  color: var(--vgw-fg-mute);
  font-size: 0.9rem;
}

.md-typeset img.vgw-hero__logo {
  display: block;
  height: 44px;
  width: auto;
  max-width: 100%;
  margin: 0 0 1.25rem;
}
