/* Include tree. Split from style.css for the same reason guru.css is:
   a feature-specific block should not force a full re-send of the
   design system every time it changes. */
/* ---------- include tree ---------- */

.tree, .node-terms, .node-children { list-style: none; margin: 0; padding: 0; }

.node {
  padding: var(--sp-3) 0 0;
}
.node-head { margin: 0; font-size: .9rem; color: var(--muted); }
.node-domain { font-family: var(--font-mono); color: var(--ink); font-weight: 600; }

.node-record {
  display: block;
  margin: var(--sp-2) 0 0;
  padding: var(--sp-2) var(--sp-3);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  font-family: var(--font-mono);
  font-size: .78rem;
  color: var(--muted);
  word-break: break-all;
}

.node-terms { margin-top: var(--sp-2); }
.node-term { padding-left: var(--sp-4); border-left: 2px solid var(--border); }
.node-term + .node-term { margin-top: var(--sp-2); }

.term-line {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  flex-wrap: wrap;
}

.cost {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 1px var(--sp-2);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  white-space: nowrap;
}
.cost-heavy { background: var(--bad-wash); color: var(--bad); }

.node-children { margin-left: var(--sp-2); }

.tag-bad { background: var(--bad-wash); color: var(--bad); }

@media (max-width: 40rem) {
  .node-term { padding-left: var(--sp-3); }
  .node-children { margin-left: 0; }
}
