/* css/demo-honesty.css — item 1.4c (CC_DIRECTIVE_1_4C_DEMO_HONESTY_2026-09-06.md)
 *
 * Lane cc-14c-honesty-6d2f, 2026-09-20. Additive: a new file. Nothing existing
 * is edited, and css/styles.css (frozen four) is not touched.
 *
 * PART A — the 3D placeholder is a fake output, so it is hidden on EVERY path.
 *
 * The honesty law the directive states is "a fake output is hidden, never
 * shown". js/hide-3d-viz.js implements that by wrapping BidUI.showResults and
 * polling the DOM — which is ORDER-DEPENDENT and PATH-DEPENDENT, and measured
 * to miss: the open-from-history path calls bid-ui.js's INTERNAL showResults
 * (bid-ui.js:12235, inside _loadBidFromSupabase), so no external wrapper on the
 * BidUI.showResults PROPERTY fires at all.
 *
 * This rule is neither. It cannot be defeated by a render path, by wrapper
 * install order, or by an element being re-shown later: an !important
 * declaration in a stylesheet beats a non-important inline style, which is the
 * only thing any of those paths set.
 *
 * js/demo-honesty.js additionally sets BuildingViewer.available = false, which
 * makes the FROZEN renderer take its own early return at bid-ui.js:3525
 * (`if (!BuildingViewer || !BuildingViewer.available) { hide(viewerEl); return; }`)
 * so Three.js never initialises against a zero-size container. The two
 * mechanisms are independent and either alone is sufficient.
 *
 * NOT AFFECTED: the PDF export already strips #building-viewer
 * (js/pdf-snapshot.js CHROME_REMOVE), so this changes no printed output.
 *
 * TO RESTORE when Stream 8 (Spatial Intelligence) supplies real geometry:
 * delete this file, its <link> tag, and the BuildingViewer.available line in
 * js/demo-honesty.js.
 */
#building-viewer {
  display: none !important;
}

/* PART C — the pre-Analyze input prompt. Tokens only, per CLAUDE.md Rule 4. */
.dh-prompt {
  border: 1px solid var(--border-color);
  border-left: 3px solid var(--yellow);
  background: var(--card-bg);
  border-radius: var(--radius-sm);
  padding: 0.9rem 1rem;
  margin: 0 0 1rem 0;
  font-family: var(--font);
  color: var(--text);
}
.dh-prompt-title {
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 0 0.35rem 0;
}
.dh-prompt-body {
  font-size: 0.85rem;
  color: var(--text-secondary);
  margin: 0 0 0.75rem 0;
  line-height: 1.45;
}
.dh-prompt-body ul { margin: 0.4rem 0 0 1.1rem; padding: 0; }
.dh-prompt-body li { margin: 0.15rem 0; }
.dh-prompt-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.dh-note {
  font-size: 0.82rem;
  color: var(--text-secondary);
  border-left: 3px solid var(--gray-300);
  padding: 0.5rem 0.75rem;
  margin: 0 0 1rem 0;
  background: var(--card-bg);
  border-radius: var(--radius-sm);
}
