
/* AutoQA child overrides — hub DNA only */
.aq-page { background: var(--bg-dark); }
.aq-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(10,15,20,0.92);
  border-bottom: 1px solid var(--line-soft);
  backdrop-filter: blur(10px);
}
.aq-header-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 0.75rem 1.25rem;
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.aq-brand {
  display: inline-flex; align-items: center; gap: 0.6rem;
  color: var(--text-primary); text-decoration: none;
  font-family: var(--font-display); font-weight: 700; letter-spacing: 0.01em;
}
.aq-brand img { display:block; }
.aq-nav { display:flex; flex-wrap:wrap; gap: 0.85rem; flex:1; }
.aq-nav a {
  color: var(--text-secondary); text-decoration:none; font-size: 0.92rem;
  font-family: var(--font-body); font-weight: 500;
}
.aq-nav a:hover, .aq-nav a[aria-current="page"] { color: var(--primary); }
.aq-nav-cta { margin-left: auto; padding: 0.45rem 0.9rem; font-size: 0.85rem; }
.aq-top { padding-top: 1.25rem; padding-bottom: 0; }
.aq-crumb ol {
  list-style:none; display:flex; flex-wrap:wrap; gap:0.35rem; align-items:center;
  color: var(--text-muted); font-size: 0.85rem; font-family: var(--font-annotation); font-style: italic;
}
.aq-crumb li:not(:last-child)::after { content:"›"; margin-left:0.35rem; color: var(--gold-faint); }
.aq-crumb a { color: var(--text-secondary); text-decoration:none; }
.aq-crumb a:hover { color: var(--primary); }
.aq-crumb [aria-current="page"] { color: var(--gold-soft); }

.aq-hero { padding: 2rem 0 2.5rem; }
.aq-hero h1 {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(1.8rem, 4vw, 2.75rem); line-height: 1.15;
  margin: 0.4rem 0 0.85rem; color: var(--text-primary);
}
.aq-lede { color: var(--text-secondary); font-size: 1.05rem; max-width: 46rem; }
.aq-byline {
  margin-top: 0.85rem; font-family: var(--font-annotation); font-style: italic;
  color: var(--gold-soft); font-size: 0.95rem;
}
.aq-section { padding: 2.25rem 0; border-top: 1px solid var(--line-soft); }
.aq-section .section-label { color: var(--gold-soft); }
.aq-grid {
  display:grid; gap:1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: 1.25rem;
}
.aq-card {
  background: var(--bg-card); border: 1px solid var(--line-soft);
  border-radius: var(--radius-md); padding: 1.15rem 1.2rem;
  text-decoration: none; color: inherit; display:block;
  transition: background var(--transition-base), border-color var(--transition-base);
}
.aq-card:hover { background: var(--bg-card-hover); border-color: rgba(79,198,215,0.28); }
.aq-card h3 {
  font-family: var(--font-display); font-size: 1.05rem; margin: 0 0 0.45rem; color: var(--text-primary);
}
.aq-card p { color: var(--text-secondary); font-size: 0.92rem; margin:0; }
.aq-card .aq-go { display:inline-block; margin-top:0.7rem; color: var(--primary); font-size:0.85rem; font-weight:600; }

.aq-steps {
  display:grid; gap:0.65rem; margin-top:1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.aq-step {
  background: var(--bg-card); border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm); padding: 0.85rem 0.9rem; text-decoration:none; color:inherit;
}
.aq-step:hover { border-color: rgba(79,198,215,0.28); }
.aq-step-num {
  font-family: var(--font-annotation); font-style:italic; color: var(--gold-soft); font-size:0.8rem;
}
.aq-step h3 { font-family: var(--font-display); font-size:0.95rem; margin:0.25rem 0 0; color: var(--text-primary); }

.aq-rows { margin-top:1.1rem; display:flex; flex-direction:column; gap:0.65rem; }
.aq-row {
  display:flex; gap:1rem; align-items:flex-start; flex-wrap:wrap;
  background: var(--bg-card); border:1px solid var(--line-soft);
  border-radius: var(--radius-sm); padding: 0.95rem 1.05rem;
  text-decoration:none; color:inherit;
}
.aq-row:hover { border-color: rgba(79,198,215,0.28); }
.aq-row strong { font-family: var(--font-display); color: var(--text-primary); min-width: 11rem; }
.aq-row span { color: var(--text-secondary); flex:1; font-size:0.92rem; }

.aq-not-list { margin:1rem 0 0; padding-left:1.1rem; color: var(--text-secondary); }
.aq-not-list li { margin:0.35rem 0; }
.aq-cta-band {
  margin: 2rem 0 3rem; padding: 1.5rem 1.35rem;
  background: linear-gradient(180deg, rgba(79,198,215,0.08), transparent);
  border: 1px solid var(--line-soft); border-radius: var(--radius-md);
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between;
}
.aq-cta-band p { margin:0; color: var(--text-secondary); max-width: 36rem; }

.aq-prose { max-width: 46rem; color: var(--text-secondary); }
.aq-prose h1 {
  font-family: var(--font-display); font-weight:800; color: var(--text-primary);
  font-size: clamp(1.6rem, 3.2vw, 2.2rem); margin: 0.3rem 0 0.8rem; line-height:1.2;
}
.aq-prose h2 {
  font-family: var(--font-display); font-weight:700; color: var(--text-primary);
  font-size: 1.25rem; margin: 1.6rem 0 0.55rem;
}
.aq-prose p, .aq-prose li { margin: 0.55rem 0; }
.aq-prose ul { padding-left: 1.15rem; }
.aq-prose a { color: var(--primary); }
.aq-callout {
  margin: 1.1rem 0; padding: 0.95rem 1.05rem;
  border-left: 3px solid var(--gold-faint);
  background: var(--bg-card); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--text-secondary); font-size: 0.95rem;
}
.aq-related {
  margin: 2rem 0 3rem; padding-top: 1.25rem; border-top: 1px solid var(--line-soft);
}
.aq-related h2 {
  font-family: var(--font-display); font-size: 1rem; color: var(--gold-soft);
  font-weight: 600; margin: 0 0 0.7rem;
}
.aq-related ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:0.6rem 1.1rem; }
.aq-related a { color: var(--primary); text-decoration:none; font-size:0.92rem; }
.aq-related a:hover { text-decoration:underline; }
.aq-json {
  margin: 1rem 0; padding: 1rem;
  background: #070b10; border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm); overflow-x: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem; color: var(--primary-light); line-height:1.45;
}
details.aq-depth {
  margin: 0.85rem 0; padding: 0.75rem 0.95rem;
  background: var(--bg-card); border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
}
details.aq-depth summary {
  cursor:pointer; font-family: var(--font-display); font-weight:600; color: var(--text-primary);
}
details.aq-depth[open] summary { color: var(--primary); margin-bottom:0.55rem; }
@media (max-width: 720px) {
  .aq-nav-cta { margin-left: 0; }
  .aq-row strong { min-width: 0; width: 100%; }
}
