/* results.css — the results surface's own styles (sprint-005 E4).
 *
 * It loads AFTER campaign.css and ADDS only what the results first cut needs. Nothing
 * here redefines a shared class: `.card`, `.panel`, `.chip`, `.btn`, `.counts`,
 * `.defs`, `.empty-artifact` and the four states are app.css's and campaign.css's, and
 * two stylesheets arguing over one class is how a suite app drifts out of the suite.
 *
 * TOKENS ONLY, and three rules here carry MEANING rather than decoration:
 *
 *   · `.facet-withheld` is the ABSTAIN treatment — muted, dashed, and deliberately not
 *     a number. A segment the substrate cannot back must not look like one that reads
 *     low (audience-integrity.md §Abstain over fabricate).
 *   · `.facet-zero` is the MEASURED ZERO — the suite's "this was collected" mint, on
 *     the value's own row. A measured zero is a finding, and it must be visibly a
 *     different thing from a withheld answer (REQ-SENTIA-047).
 *   · `.fidelity-record` is amber, never mint. UNVALIDATED is the opposite of the
 *     claim mint makes, and the label must never read as reassurance.
 */

/* ── the index ────────────────────────────────────────────────────────────── */

.result-index { display: flex; flex-direction: column; gap: 8px; }

.result-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    text-decoration: none;
    color: var(--text);
}
.result-row:hover { border-color: var(--border-strong); }
.result-row-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.result-row-title { font-family: var(--font-display); font-size: 0.98rem; }
.result-row-chips { flex: 0 0 auto; white-space: nowrap; }

/* ── the headline ─────────────────────────────────────────────────────────── */

.result-statement {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text);
    margin-bottom: 12px;
}

/* The fidelity record. AMBER — an unvalidated prediction must never wear the colour
   the suite reads as "measured". */
.fidelity-record {
    border-left: 2px solid var(--warning);
    background: rgba(255, 170, 48, 0.05);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 10px 14px;
    margin: 12px 0;
}
.fidelity-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
}
.fidelity-key {
    color: var(--text-dim);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.68rem;
}
.fidelity-value { color: var(--text-muted); font-size: 0.84rem; }
.fidelity-reason {
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.55;
}

/* ── a segment ────────────────────────────────────────────────────────────── */

.segment-panel > h3 { margin-bottom: 4px; }
.segment-panel .detail-head h3 { margin: 0; }

/* The abstain statement sits ABOVE the (withheld) figures, not under them. */
.row-warn.abstain {
    padding: 10px 14px;
    border-left: 2px solid var(--warning);
    background: rgba(255, 170, 48, 0.05);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    margin: 12px 0;
}

.context-block {
    border-top: 1px solid var(--border);
    padding-top: 12px;
    margin-top: 14px;
}
.context-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}
.context-asked {
    font-family: var(--font-display);
    font-size: 0.92rem;
    color: var(--text);
    margin-right: 4px;
}

.facets { list-style: none; margin: 0; padding: 0; }
.facet {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid var(--border);
}
.facet:last-child { border-bottom: none; }
.facet-value { color: var(--text); font-size: 0.9rem; }
.facet-reading { color: var(--text-muted); font-size: 0.82rem; text-align: right; }
.facet-share {
    font-family: var(--font-mono);
    font-size: 0.86rem;
    color: var(--text);
    min-width: 4.5em;
    text-align: right;
}

/* THE MEASURED ZERO — mint, and it keeps its number. */
.facet-zero .facet-value { color: var(--measured); }
.facet-zero .facet-reading { color: var(--measured); }

/* THE WITHHELD ANSWER — no number at all, and it does not look like a low reading. */
.facet-withheld {
    grid-template-columns: 1fr auto;
    border-bottom-style: dashed;
}
.facet-withheld .facet-value { color: var(--text-dim); }
.facet-withheld .facet-reading { color: var(--warning); font-style: italic; }

/* ── stated absences ──────────────────────────────────────────────────────── */

.not-rendered { list-style: none; margin: 0; padding: 0; }
.not-rendered li {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
}
.not-rendered li:last-child { border-bottom: none; }
.not-rendered-what { color: var(--text); font-size: 0.9rem; }
.not-rendered-why { color: var(--text-muted); font-size: 0.82rem; line-height: 1.55; }
