/* Section 24 — evidence cards for the conclusion (public/interactions/s24.js).
   Colours follow the review rules: teal = the Olmo-core DDP path and the
   adopted/measured series; warm grey #968671 = the legacy FSDP path; grey
   #77828a = dense/baseline references; pink only for the current selection,
   the highlighted claim and annotations. Where a report table fixes its own
   colours (Table 32: required #B8236B, available #2E6B70; Figure 59: pink
   conversion work) the cards keep them. */

.s24-evidence{--s24-legacy:#968671;--s24-base:#77828a;--s24-base-fill:#cdd3d4;--s24-req:#b8236b;--s24-avail:#2e6b70;--s24-label:38%}
.chapter-addition.s24-emptied{display:none}
.s24-evidence[data-s24-ready] .s24-nojs-note{display:none}
.s24-nojs-note{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--muted)}

/* ---------- Groups ---------- */
.s24-group{--s24-legacy:#968671;--s24-base:#77828a;--s24-base-fill:#cdd3d4;--s24-req:#b8236b;--s24-avail:#2e6b70;margin:2.2em 0 2.8em;padding:22px 0 0;border-top:1px solid var(--ink);container-type:inline-size;container-name:s24group}
.report-content>.s24-group{margin:2.4em 0 2.2em}
.s24-group-head{max-width:var(--measure);margin:0 0 18px}
.s24-group-kicker{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}
.s24-group-kicker .s24-glyph{flex:none}
.report-content .s24-group-title,.s24-group-title{margin:0;font-size:clamp(20px,1.9vw,24px);font-weight:400;line-height:1.25;letter-spacing:-.02em;color:var(--ink-deep);text-wrap:balance}
.report-content .s24-group-title::before{display:none}
.s24-group-note{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--muted)}
.s24-glyph{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

/* ---------- Tabs (one claim per tab; enabled by the runtime) ---------- */
.s24-tabs{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0}
@container s24group (max-width:860px){.s24-tabs{grid-template-columns:repeat(var(--n3,2),minmax(0,1fr))}}
@container s24group (max-width:520px){.s24-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.s24-tab:last-child:nth-child(odd){grid-column:1/-1}}
.s24-tabs[hidden]{display:none}
.s24-tab{min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:7px 14px 7px 8px;border:1px solid var(--line);border-radius:12px;background:var(--cream-lo);color:var(--ink-soft);font:700 13.5px/1.25 var(--font);text-align:left;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s,color .18s,box-shadow .18s}
.s24-tab:hover{border-color:var(--teal-line);color:var(--ink-deep);background:#f7eee3}
.s24-tab[aria-selected="true"]{background:var(--cream-hi);border-color:var(--ink-deep);color:var(--ink-deep);box-shadow:inset 0 0 0 1px var(--ink-deep),0 2px 8px rgba(10,43,53,.08)}
.s24-tab:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s24-tab-n{flex:none;display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--cream-hi);box-shadow:inset 0 0 0 1.5px var(--teal-line);color:var(--teal-deep);font-size:12.5px;font-variant-numeric:tabular-nums;transition:background-color .18s,color .18s,box-shadow .18s}
.s24-tab[aria-selected="true"] .s24-tab-n{background:var(--ink-deep);color:var(--cream);box-shadow:none}
.s24-tab-name{min-width:0;text-wrap:balance}
/* With tabs on, the tab carries the number; the card kicker keeps the evidence kind. */
.s24-group.has-tabs .s24-n{display:none}

/* ---------- Panels: the card interior goes two-column when wide ---------- */
.s24-panels{display:grid;gap:18px;container-type:inline-size;container-name:s24panels}
.s24-card[hidden]{display:none}

/* ---------- Card ---------- */
.s24-card{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker" "claim" "viz" "verdict" "foot";align-content:start;gap:12px;padding:20px 22px 16px;background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:border-color .2s,box-shadow .2s;scroll-margin-top:calc(var(--chrome) + 24px)}
.s24-kicker{grid-area:kicker}
.s24-claim{grid-area:claim}
.s24-viz{grid-area:viz;min-width:0;display:flex;flex-direction:column;gap:10px;container-type:inline-size;container-name:s24viz}
.s24-verdict{grid-area:verdict}
.s24-foot{grid-area:foot}
@container s24panels (min-width:800px){
 .s24-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"kicker kicker" "claim viz" "verdict viz" "foot foot";gap:12px 30px;padding:20px 26px 16px}
 .report-content .s24-claim,.s24-claim{font-size:18px;line-height:1.48}
 .s24-verdict{align-self:start}
}
.s24-card:hover,.s24-card:focus-within{border-color:var(--teal-line)}
.s24-card:focus{outline:none}
.s24-card:focus-visible{outline:2.5px solid var(--pink);outline-offset:3px}
.s24-card.is-conceptual{background:repeating-linear-gradient(135deg,var(--cream-hi) 0 14px,#fdf6ee 14px 15px)}
.report-content .s24-card p,.s24-card p{margin:0}
.s24-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0;font-size:12px;font-weight:700;line-height:1.4;color:var(--muted)}
/* Evidence badge: the same pill as the FigureFrame badge of Sections 1-3
   (measured = pink wash, solid dot; conceptual = teal wash, dashed dot);
   the analytic budget card gets a solid teal ring. */
.s24-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:4px 10px 4px 8px;border-radius:999px;background:var(--teal-wash);color:var(--teal-deep);font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.01em}
.s24-badge::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--teal);box-sizing:border-box}
.s24-badge[data-kind="measured"]{background:var(--pink-wash);color:var(--pink-deep)}
.s24-badge[data-kind="measured"]::before{border:0;background:var(--pink)}
.s24-badge[data-kind="analytic"]::before{border-style:solid}
.s24-n{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 7px;border-radius:999px;background:var(--ink-deep);color:var(--cream);font-size:11.5px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.s24-n .s24-glyph{width:11px;height:11px}
.report-content .s24-claim,.s24-claim{margin:0;font-size:17px;font-weight:400;line-height:1.5;letter-spacing:-.005em;color:var(--ink-deep);text-wrap:pretty}
.report-content .s24-claim::before{display:none}
.s24-qm{color:var(--teal);font-weight:700}

/* Segmented controls (same form as Sections 1-3), with a visible label like Section 1's "Plot". */
.s24-seg-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.s24-seg-label{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s24-seg{display:inline-flex;flex-wrap:wrap;align-self:flex-start;gap:2px;padding:3px;border-radius:20px;background:var(--cream-lo);border:1px solid var(--line)}
.s24-seg button{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:12.5px;font-weight:700;line-height:1;transition:background-color .2s var(--ease),color .2s,box-shadow .2s}
.s24-seg button:hover{color:var(--ink)}
.s24-seg button[aria-pressed="true"]{background:var(--cream-hi);color:var(--ink-deep);box-shadow:inset 0 0 0 1.5px var(--ink-deep),0 1px 3px rgba(10,43,53,.16)}

/* ---------- Chart surface ---------- */
.s24-chart{position:relative;min-width:0;padding:12px 14px 10px;border-radius:10px;background:#fffdf9;border:1px solid var(--line)}
.s24-chart:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s24-chart--svg{padding:10px 8px 6px}
.s24-axis{margin:0 0 8px;font-size:12px;line-height:1.45;color:var(--muted)}
.s24-chart--svg .s24-axis{padding:0 6px}
.s24-axis--gap{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.s24-svg{display:block;max-width:100%;height:auto;overflow:visible;font-family:var(--font)}
.s24-gl{stroke:var(--line);stroke-width:1}
.s24-vtick{stroke:var(--line-strong)}
.s24-tick{font-size:11.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.s24-tick--x{fill:var(--ink-soft);font-weight:700}
.s24-tick--sub{font-size:11px}
.s24-dense{stroke:var(--s24-base);stroke-width:1.5;stroke-dasharray:5 4}
.s24-lab{font-size:12px;font-weight:700}
.s24-lab--dense{fill:var(--muted);font-weight:400}
.s24-lab--ddp{fill:var(--teal-deep)}
.s24-lab--legacy{fill:#6f6252}
.s24-lab--pt{fill:var(--ink-soft);font-size:11.5px}
.s24-lab--pt.is-on{fill:var(--ink-deep)}
.s24-stem{stroke:var(--line-strong);stroke-width:1}
.s24-col{fill:rgba(240,82,156,.07)}
.s24-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.s24-line--ddp{stroke:var(--teal)}
.s24-line--legacy{stroke:var(--s24-legacy)}
.s24-dot{stroke:#fffdf9;stroke-width:1.5}
.s24-dot--ddp{fill:var(--teal)}
.s24-dot--legacy{fill:var(--s24-legacy)}
.s24-dot.is-on{stroke:var(--pink);stroke-width:2.5}
.s24-hit{fill:transparent;cursor:pointer}
.s24-pt{fill:var(--teal);stroke:#fffdf9;stroke-width:1.5}
.s24-pt.is-dagger{fill:#fffdf9;stroke:var(--teal);stroke-width:2}
.s24-pt.is-on{stroke:var(--pink);stroke-width:2.5}

/* Legend keys */
.s24-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;padding:0;list-style:none;font-size:12px;line-height:1.4;color:var(--ink-soft)}
.s24-chart--svg .s24-legend{padding:0 6px}
.s24-legend li{display:inline-flex;align-items:center;gap:6px}
.s24-key{display:inline-block;width:12px;height:10px;border-radius:2px;background:var(--teal)}
.s24-key--bf16{width:10px;height:10px;border-radius:50%}
.s24-key--mx{width:10px;height:10px;transform:rotate(45deg) scale(.85);border-radius:1px}
.s24-key--dagger{width:10px;height:10px;transform:rotate(45deg) scale(.85);border-radius:1px;background:#fffdf9;box-shadow:inset 0 0 0 2px var(--teal)}
.s24-key--alt{background:var(--s24-base-fill);box-shadow:inset 0 0 0 1px var(--s24-base)}
.s24-key--base{background:var(--s24-base-fill)}
.s24-key--ref{width:2px;height:12px;border-radius:0;background:none;border-left:2px dashed var(--s24-base)}

/* ---------- Bars (HTML: text never scales) ---------- */
.s24-bars{display:flex;flex-direction:column;gap:2px}
.s24-row{display:grid;grid-template-columns:var(--s24-label,38%) minmax(0,1fr);gap:4px 12px;align-items:center;padding:5px 6px;margin:0 -6px;border-radius:7px;cursor:pointer;transition:background-color .15s}
.s24-row:hover{background:rgba(64,117,121,.05)}
.s24-row.is-on{background:rgba(240,82,156,.08)}
.s24-row-label{min-width:0;font-size:13px;line-height:1.3;color:var(--ink)}
.s24-row-label span{display:block}
.s24-row-label small{display:block;margin-top:1px;font-size:11.5px;color:var(--muted)}
.s24-row.is-on .s24-row-label span{font-weight:700;color:var(--ink-deep)}
.s24-row-bars{min-width:0;display:flex;flex-direction:column;gap:3px}
.s24-bar{position:relative;height:20px}
.s24-bar-fill{position:absolute;left:0;top:3px;height:14px;width:calc(var(--w) * .76);border-radius:3px;background:var(--teal);transition:width .6s var(--ease)}
.s24-bar-value{position:absolute;top:1px;left:calc(var(--lw,var(--w)) * .76 + 7px);font-size:12px;line-height:18px;font-weight:700;white-space:nowrap;color:var(--ink-deep);font-variant-numeric:tabular-nums;transition:left .6s var(--ease)}
.s24-bar-ref{position:absolute;top:0;bottom:0;left:calc(var(--x) * .76);border-left:1.5px dashed var(--s24-base)}
.s24-bar--ddp .s24-bar-fill{background:var(--teal)}
.s24-bar--base .s24-bar-fill{background:var(--s24-base-fill)}
.s24-bar--base .s24-bar-value{font-weight:400;color:var(--ink-soft)}
.s24-bar--alt .s24-bar-fill{background:var(--s24-base-fill);box-shadow:inset 0 0 0 1px var(--s24-base)}
.s24-bar--alt .s24-bar-value{font-weight:400;color:var(--ink-soft)}
.s24-bar--muted .s24-bar-fill{background:repeating-linear-gradient(135deg,#e2e5e5 0 4px,#f1f2f1 4px 8px);box-shadow:inset 0 0 0 1px var(--line-strong)}
.s24-bar--muted .s24-bar-value{font-weight:400;color:var(--muted)}
.s24-bar--conv .s24-bar-fill{background:var(--pink)}
.s24-bar--ceiling .s24-bar-fill{background:none;box-shadow:inset 0 0 0 1.5px var(--s24-base);background-image:repeating-linear-gradient(90deg,transparent 0 5px,rgba(119,130,138,.14) 5px 7px)}
.s24-bar--ceiling .s24-bar-value{font-weight:400;color:var(--ink-soft)}
.s24-bar--req .s24-bar-fill{background:var(--s24-req);background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--seg,100%) - 1.5px),rgba(255,250,244,.95) calc(var(--seg,100%) - 1.5px) var(--seg,100%))}
.s24-bar--req .s24-bar-value{color:var(--s24-req)}
.s24-bar--avail .s24-bar-fill{background:var(--s24-avail);opacity:.55}
.s24-bar--avail.is-sel .s24-bar-fill{opacity:1}
.s24-bar--avail .s24-bar-value{color:var(--s24-avail)}
/* The selected link and the mode the claim is about are shown by opacity and
   weight, not by a ring (a ring on a short bar reads as a control). */
.s24-bar.is-dim .s24-bar-fill{opacity:.45}
.s24-bar.is-dim .s24-bar-value{font-weight:400;color:var(--ink-soft)}
.s24-bar--avail:not(.is-sel) .s24-bar-value{font-weight:400}
.s24-row-note{margin:2px 0 0;font-size:11.5px;color:var(--muted)}

/* Diverging rows */
.s24-div{position:relative;width:80%;height:22px;margin:0 2px}
.s24-div::before{content:'';position:absolute;left:var(--z);top:-3px;bottom:-3px;border-left:1.5px solid var(--line-strong)}
.s24-div-fill{position:absolute;top:4px;height:14px;left:var(--l);width:var(--w);border-radius:3px;background:var(--teal);transition:width .6s var(--ease),left .6s var(--ease)}
.s24-div-fill.is-neg{background:var(--teal)}
.s24-div--alert .s24-div-fill{background:var(--ink-deep)}
.s24-div--span .s24-div-fill{background:var(--s24-base)}
.s24-div-value{position:absolute;top:2px;left:calc(var(--x) + 6px);font-size:12px;line-height:18px;font-weight:700;white-space:nowrap;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s24-div-value.is-neg{left:calc(var(--z) + 6px)}
.s24-div-stable{position:absolute;top:2px;left:calc(var(--x) + 8px);font-size:12px;line-height:18px;color:var(--ink-soft);white-space:nowrap}
.s24-div-stable::before{content:'';display:inline-block;width:7px;height:7px;margin:0 6px 1px -12px;border-radius:50%;background:var(--teal);vertical-align:middle}

/* Big number (offload) */
.s24-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:12px 0 2px;padding-top:10px;border-top:1px dashed var(--line)}
.s24-big b{font-size:26px;font-weight:400;letter-spacing:-.02em;color:var(--s24-req);font-variant-numeric:tabular-nums}
.s24-big span{font-size:12px;line-height:1.4;color:var(--muted)}

/* Conceptual timeline (metadata): time runs downward, one column per processor. */
.s24-vt{--s24-track:228px;display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);gap:0 10px;margin:4px 0 10px}
.s24-vt-axis{position:relative;margin-top:22px;height:var(--s24-track)}
.s24-vt-axis span{position:absolute;top:0;left:0;right:0;font-size:10.5px;line-height:1;text-align:center;letter-spacing:.06em;color:var(--muted)}
.s24-vt-axis::before{content:'';position:absolute;left:50%;top:16px;bottom:6px;border-left:1.5px solid var(--line-strong)}
.s24-vt-axis::after{content:'';position:absolute;left:calc(50% - 4.25px);bottom:0;border:4.5px solid transparent;border-top:7px solid var(--muted);border-bottom:0}
.s24-vlane{min-width:0}
.s24-vlane-name{margin:0 0 6px!important;font-size:11px;font-weight:700;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s24-vlane-track{position:relative;height:var(--s24-track);border-radius:8px;background:repeating-linear-gradient(180deg,transparent 0 22px,rgba(28,43,51,.045) 22px 23px)}
.s24-blk,.s24-idle{position:absolute;left:0;right:0;top:var(--a);height:var(--b);display:flex;align-items:center;justify-content:center;padding:0 6px;border-radius:5px;background:var(--teal);color:#fff;font-size:11.5px;font-weight:700;line-height:1.1;text-align:center;overflow:hidden;white-space:nowrap;box-shadow:inset 0 -1px 0 #fffdf9;transition:top .45s var(--ease),height .45s var(--ease)}
.s24-blk>span,.s24-idle>span{overflow:hidden;text-overflow:ellipsis}
.s24-blk--wait{background:var(--pink-wash);color:var(--pink-deep);box-shadow:inset 0 0 0 1.5px var(--pink)}
.s24-blk--copy{background:var(--s24-base-fill);color:var(--ink-soft)}
.s24-blk--next{background:rgba(64,117,121,.16);color:var(--teal-deep)}
.s24-idle{background:none;box-shadow:inset 0 0 0 1.5px var(--s24-base);color:var(--muted);font-weight:400;background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(119,130,138,.13) 5px 7px)}
.s24-conceptual{margin:0 0 6px!important;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
.s24-key--wait{background:var(--pink-wash);box-shadow:inset 0 0 0 1.5px var(--pink)}
.s24-key--copy{background:var(--s24-base-fill)}
.s24-key--next{background:rgba(64,117,121,.16);box-shadow:inset 0 0 0 1px var(--teal-line)}
.s24-key--idle{background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(119,130,138,.25) 3px 5px);box-shadow:inset 0 0 0 1px var(--s24-base)}

/* ---------- Readout, caveat, verdict, footer ---------- */
.s24-caveat{margin:0;padding:8px 12px 8px 13px;border-left:2px solid var(--line-strong);font-size:13px;line-height:1.5;color:var(--ink-soft)}
.s24-caveat-label{display:block;margin-bottom:2px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s24-caveat .s24-qm{color:var(--muted);font-weight:400}
.s24-readout{min-height:3.1em;margin:0;padding:9px 13px;border-radius:9px;background:var(--cream-lo);font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.s24-readout strong{color:var(--ink-deep)}
.s24-readout b{color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s24-computed{display:inline-block;margin-left:2px;padding:0 6px;border-radius:999px;border:1px solid var(--line-strong);font-size:10.5px;font-weight:700;line-height:16px;letter-spacing:.04em;color:var(--muted);vertical-align:1px}
.s24-verdict{display:grid;gap:10px;margin:2px 0 0}
.s24-verdict>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding-top:10px;border-top:1px solid var(--line)}
.s24-verdict dt{font-size:10.5px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep)}
.s24-limit dt{color:var(--pink-deep)}
.s24-verdict dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink)}
.s24-where{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.s24-where::before{content:'— '}
.s24-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-top:2px;padding-top:10px;border-top:1px solid var(--line)}
.s24-links{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.s24-links a{font-weight:700}
.s24-claim-btn{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--cream-hi);color:var(--teal-deep);font-size:12px;font-weight:700}
.s24-claim-btn:hover{border-color:var(--teal-line);color:var(--ink)}

/* ---------- Marks in the prose ---------- */
.s24-mark{display:inline-flex;align-items:center;gap:3px;margin:0 1px 0 5px;padding:0 6px 0 5px;height:1.25em;border-radius:999px;background:var(--teal-wash);color:var(--teal-deep);font-size:.64em;font-weight:700;line-height:1;letter-spacing:.02em;text-decoration:none;vertical-align:.18em;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--teal-line);transition:background-color .15s,color .15s}
.s24-mark .s24-glyph{width:.95em;height:.95em}
.s24-mark{position:relative;-webkit-user-select:none;user-select:none}
/* The claimed sentence's last word and its mark stay on one line. */
.s24-tail{white-space:nowrap}
.s24-mark::after{content:'';position:absolute;inset:-9px -5px}
.s24-mark:hover,.s24-mark.is-on{background:var(--ink-deep);color:var(--cream);box-shadow:none}
::highlight(s24-claim){background-color:rgba(240,82,156,.17);color:inherit}

/* One-time grow-in of bars when a card first appears. */
.s24-pre .s24-bar-fill{width:0}
.s24-pre .s24-bar-value{left:7px;opacity:0}
.s24-pre .s24-div-fill{width:0;left:var(--z)}
.s24-bar-value{transition:left .6s var(--ease),opacity .4s .2s}

/* ---------- Narrow cards and phones ---------- */
@container s24viz (min-width:640px){.s24-chart{--s24-label:250px}}
@container s24viz (max-width:400px){
 .s24-row{grid-template-columns:minmax(0,1fr);gap:2px}
 .s24-row-label span,.s24-row-label small{display:inline}
 .s24-row-label small::before{content:' · '}
 .s24-bar-fill{width:calc(var(--w) * .72)}
 .s24-bar-value{left:calc(var(--lw,var(--w)) * .72 + 7px)}
 .s24-bar-ref{left:calc(var(--x) * .72)}
}
@media (max-width:700px){
 .s24-group{padding-top:20px}
 .s24-card{padding:16px 14px 14px;gap:11px}
 .report-content .s24-claim,.s24-claim{font-size:16px}
 .s24-chart{padding:10px 10px 8px}
 .s24-readout{font-size:13px}
 .s24-verdict dd{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
 .s24-bar-fill,.s24-bar-value,.s24-div-fill,.s24-blk,.s24-idle,.s24-card,.s24-row{transition:none!important}
}
@media (forced-colors:active){
 .s24-seg button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-2px}
 .s24-bar-fill,.s24-div-fill,.s24-blk{forced-color-adjust:none}
 .s24-row.is-on{outline:2px solid Highlight}
}
@media print{
 .s24-seg-row,.s24-claim-btn,.s24-mark,.s24-tabs{display:none!important}
 .s24-card[hidden]{display:grid!important}
 .s24-group.has-tabs .s24-n{display:inline-flex!important}
 .s24-panels{gap:14px}
 .s24-card{break-inside:avoid;box-shadow:none}
}
