/* Brain path query planner - styles for ./planner.qmd.
   Vars are namespaced (--bp-*) so they don't collide with the site theme. */
:root {
  --bp-ink: #222;
  --bp-muted: #666;
  --bp-accent: #2f6f98;
  --bp-line: #e3e6ea;
  --bp-warn: #8a6d1f;
  --bp-warn-bg: #fdf8ec;
  --bp-warn-line: #caa23a;
  --bp-on: #eef4f8;
  --bp-mono: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, "IBM Plex Mono", monospace);
}

.bp {
  font-family: inherit;
  color: var(--bp-ink);
  max-width: 780px;
  margin: 1.25rem 0;
  line-height: 1.45;
}
.bp-mono { font-family: var(--bp-mono); }
.bp-mut { color: var(--bp-muted); }

/* input + presets */
.bp-input, .bp-presets { max-width: 780px; }
.bp-input {
  width: 100%;
  padding: .5rem .6rem;
  border: 1px solid var(--bp-line);
  border-radius: 8px;
  font-size: .95rem;
  background: #fff;
  color: var(--bp-ink);
  font-family: var(--bp-mono);
}
.bp-input:focus {
  outline: none;
  border-color: var(--bp-accent);
  box-shadow: 0 0 0 3px rgba(47, 111, 152, .12);
}
.bp-presets { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.bp-preset {
  font-size: .72rem;
  border: 1px solid var(--bp-line);
  background: #fff;
  border-radius: 999px;
  padding: .18rem .55rem;
  cursor: pointer;
  color: var(--bp-muted);
  font-family: var(--bp-mono);
}
.bp-preset:hover { border-color: var(--bp-accent); color: var(--bp-accent); }

/* parsed-segment chips (status-coloured) */
.bp-summary { font-size: .82rem; color: var(--bp-muted); margin: .7rem 0 .3rem; }
.bp-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin: .3rem 0 .55rem; }
.bp-chip {
  font-size: .78rem;
  border: 1px solid var(--bp-line);
  border-radius: 6px;
  padding: .14rem .42rem;
  background: #fff;
  color: var(--bp-ink);
  font-family: var(--bp-mono);
  white-space: nowrap;
}
.bp-chip i {
  font-style: normal;
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--bp-muted);
  margin-right: .32rem;
}
.bp-chip.s-wildcard { border-style: dashed; border-color: var(--bp-accent); color: var(--bp-accent); }
.bp-chip.s-unresolved, .bp-chip.s-unknown { border-color: var(--bp-warn-line); background: var(--bp-warn-bg); color: var(--bp-warn); }

/* gathered-files / view-match / target lines */
.bp-files { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin: .25rem 0; font-size: .76rem; }
.bp-files-k {
  font-size: .58rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--bp-muted);
  margin-right: .15rem;
}
.bp-file {
  font-size: .72rem;
  font-family: var(--bp-mono);
  border: 1px solid var(--bp-line);
  border-radius: 4px;
  padding: .04rem .4rem;
  background: #fbfcfd;
  color: var(--bp-ink);
}

/* plan + registry tables (the core values) */
.bp-table { border-collapse: collapse; width: 100%; font-size: .74rem; margin: .35rem 0; }
.bp-table th, .bp-table td { border: 1px solid var(--bp-line); padding: .22rem .45rem; text-align: left; vertical-align: top; }
.bp-table th { background: #f6f7f8; font-weight: 600; }
.bp-table tr.on { background: var(--bp-on); }
.bp-table td.bp-mono { font-family: var(--bp-mono); }

/* notes + registry disclosure + errors */
.bp-notes { margin: .6rem 0 0; padding-left: 1.1rem; font-size: .8rem; color: var(--bp-muted); }
.bp-notes li { margin: .2rem 0; }
.bp-reg { margin-top: .8rem; font-size: .8rem; }
.bp-reg summary { cursor: pointer; color: var(--bp-accent); }
.bp-err {
  border: 1px solid #e0b4b4;
  background: #fdf2f2;
  color: #8a3a3a;
  padding: .6rem .7rem;
  border-radius: 8px;
  font-size: .86rem;
}
