/* Symptom explainers */
.explainer-sheet { max-width: 1100px; }
.explainer-controls { background: #f8fafc; border: 1px solid #e5e7eb !important; }
.result-hero {
  background: linear-gradient(135deg, #f0f7ff 0%, #f1f8f4 100%);
  border: 1px solid #cfe2ff; border-radius: .6rem; padding: 1rem 1.15rem;
}
.result-hero .big { font-size: 1.25rem; font-weight: 700; margin-bottom: .35rem; }
.result-hero .metrics { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; font-size: .95rem; }
.result-box {
  background: #f0f7ff; border: 1px solid #b6d4fe; border-radius: .5rem;
  padding: .75rem 1rem; margin: .5rem 0 1rem; font-size: .95rem;
}
.result-box.rgps-box { background: #f1f8f4; border-color: #a3cfbb; }
.formula {
  background: #f8f9fa; border: 1px solid #e9ecef; border-radius: .4rem;
  padding: .7rem 1rem; margin: .5rem 0 1rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .88rem;
}
table.nums td.num, table.nums th.num { text-align: right; font-variant-numeric: tabular-nums; }
.note { font-size: .88rem; color: #555; border-left: 3px solid #adb5bd; padding-left: .7rem; margin: .8rem 0; }
.symptom-text-cell { max-width: 420px; }
.symptom-text-cell .st-preview { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.symptom-text-cell .st-full { white-space: pre-wrap; margin-top: .35rem; }
.symptom-text-cell .st-toggle { background: none; border: none; color: #0d6efd; padding: 0; font-size: .85rem; cursor: pointer; }
/* Catalog column legend */
.col-legend {
  background: #f8fafc; border: 1px solid #e5e7eb; border-radius: .5rem;
  padding: .65rem 1rem .85rem;
}
.col-legend > summary { cursor: pointer; list-style: none; }
.col-legend > summary::-webkit-details-marker { display: none; }
.col-legend > summary::before { content: "▸ "; color: #64748b; }
.col-legend[open] > summary::before { content: "▾ "; }
.col-legend-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .55rem 1.25rem; margin-top: .65rem; font-size: .86rem;
}
.col-legend-grid dt { font-weight: 650; color: #1e293b; margin: 0; }
.col-legend-grid dd { margin: .1rem 0 0; color: #475569; line-height: 1.35; }
/* Verbose in-depth walkthrough (mirrors methods-mgps-rgps.html) */
#deepDive h3 { font-size: 1.05rem; margin-top: 1.25rem; color: #333; }
#deepDive p, #deepDive li { font-size: .95rem; line-height: 1.55; }
#deepDive pre.code {
  background: #1e1e2e; color: #cdd6f4; border-radius: .5rem; padding: .9rem 1rem;
  font-size: .8rem; line-height: 1.45; overflow-x: auto; margin: .6rem 0 1rem;
}
#deepDive pre.code .kw { color: #cba6f7; }
#deepDive pre.code .fn { color: #89b4fa; }
#deepDive pre.code .cm { color: #6c7086; }
#deepDive pre.code .st { color: #a6e3a1; }
#deepDive pre.code .nu { color: #fab387; }
