/* Research-only enhancement. The V17_1 shell and its 768/1024 breakpoints stay intact. */
.fe-viz, .fe-viz-guide, .fe-viz-legend, .fe-viz-table-help {
  --viz-a:var(--accent-blue, #80b9ff); --viz-b:var(--text-muted, #b4c0ca);
  color:var(--text-heading); font-family:var(--fe-font-ui, inherit); box-sizing:border-box;
}
.fe-viz { margin:12px 0; padding:13px 15px; min-width:0; width:100%; max-width:540px; background:var(--bg-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-sm, 8px); text-align:left; }
.fe-viz figcaption { display:flex; gap:12px; justify-content:space-between; font-size:13px; line-height:1.5; font-weight:700; margin-bottom:10px; overflow-wrap:anywhere; }
.fe-viz-measure + .fe-viz-measure { margin-top:10px; }
.fe-viz-measure__head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-size:12px; line-height:1.5; margin-bottom:4px; }
.fe-viz-measure__head span { min-width:0; overflow-wrap:anywhere; }
.fe-viz-measure strong,.fe-viz-split strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.fe-viz-track { height:7px; border-radius:2px; overflow:hidden; background:var(--bg-bar, rgba(127,127,127,.18)); }
.fe-viz-track > span { display:block; height:100%; width:var(--fe-viz-fill); max-width:100%; background:var(--viz-a); }
.fe-viz-measure[data-side="b"] .fe-viz-track > span { background:var(--viz-b); background-image:repeating-linear-gradient(115deg,transparent 0 4px,rgba(0,0,0,.15) 4px 6px); }
.fe-viz-caption,.fe-viz-unavailable { color:var(--text-muted); font-size:12px; line-height:1.5; margin-top:8px; }
.fe-viz-unavailable { border-left:2px dashed var(--border-subtle); padding-left:8px; }
.fe-viz-split__labels { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:12px; line-height:1.5; }
.fe-viz-split__labels > span { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.fe-viz-split__track { display:flex; height:9px; overflow:hidden; border-radius:2px; margin-top:8px; gap:2px; }
.fe-viz-split__track > span:first-child { background:var(--viz-a); }
.fe-viz-split__track > span:last-child { background:var(--viz-b); background-image:repeating-linear-gradient(115deg,transparent 0 4px,rgba(0,0,0,.15) 4px 6px); }
.fe-viz-key { width:9px; height:9px; display:inline-block; background:var(--viz-a); }
.fe-viz-key--b { background:var(--viz-b); border:1px dashed var(--text-muted); }
.fe-viz-state { display:inline-flex; align-items:center; gap:5px; padding:3px 7px; border:1px solid currentColor; border-radius:4px; font-size:12px; line-height:1.4; font-weight:600; }
.fe-viz-state::before { content:'•'; }
.fe-viz-state[data-tone="value"] { color:var(--accent-teal); }
.fe-viz-state[data-tone="value"]::before { content:'✓'; }
.fe-viz-state[data-tone="negative"] { color:var(--accent-red-light,var(--accent-red)); }
.fe-viz-state[data-tone="negative"]::before { content:'−'; }
.fe-viz-state[data-tone="withheld"] { color:var(--accent-yellow); border-style:dashed; }
.fe-viz-state[data-tone="withheld"]::before { content:'!'; }
.fe-viz-state[data-tone="research"] { color:var(--accent-purple,var(--accent-blue)); }
.fe-viz-state[data-tone="research"]::before { content:'◇'; }
.fe-viz-state[data-tone="upcoming"] { color:var(--accent-blue); border-style:dotted; }
.fe-viz-state[data-tone="upcoming"]::before { content:'◷'; }
.fe-viz-state[data-tone="neutral"] { color:var(--text-muted); }
.fe-viz-guide { border-left:3px solid var(--accent-blue); padding:10px 14px; margin:0 0 18px; background:var(--bg-subtle); font-size:13px; line-height:1.5; }
.fe-viz-guide p { margin:0; font-weight:600; }
.fe-viz-jumps { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:8px; }
.fe-viz-jumps a { color:var(--text-heading); text-decoration:underline; text-underline-offset:3px; font-size:12px; padding:5px 0; }
.fe-viz-legend { margin:8px 0 0; font-size:12px; }
.fe-viz-legend summary { cursor:pointer; width:fit-content; padding:5px 0; color:var(--text-muted); }
.fe-viz-legend__items { display:flex; flex-wrap:wrap; gap:8px; padding:10px 0 4px; }
.fe-viz-legend p { color:var(--text-muted); font-size:12px; font-weight:400; max-width:70ch; }
.fe-viz-guide :focus-visible,.fe-viz-scroll:focus-visible { outline:2px solid var(--accent-blue); outline-offset:3px; }
.fe-viz-table { font-variant-numeric:tabular-nums; }
.fe-viz-table thead th { color:var(--text-heading); line-height:1.4; }
.fe-viz-table td { line-height:1.55; }
.fe-viz-table tbody tr:nth-child(even) { background-color:var(--bg-subtle); }
.fe-viz-table tbody tr:focus-within { outline:1px solid var(--accent-blue); outline-offset:-1px; }
.fe-viz-cell-track { display:block; width:100%; max-width:124px; min-width:48px; height:5px; background:var(--bg-bar,rgba(127,127,127,.18)); margin:5px 0 1px; border-radius:1px; position:relative; }
.fe-viz-cell-track > i { display:block; position:absolute; height:100%; background:var(--accent-blue); }
.fe-viz-cell-track[data-signed]::before { content:''; position:absolute; height:9px; top:-2px; left:50%; border-left:1px solid var(--text-muted); }
.fe-viz-cell-track[data-negative] > i { background:var(--accent-red-light,var(--accent-red)); }
.fe-viz-inline-measure { display:block; max-width:140px; margin:6px auto 2px; }
.fe-viz-inline-measure .fe-viz-cell-track { max-width:100%; }
.fe-viz-scale { display:block; font-size:11px; line-height:1.5; color:var(--text-muted); font-weight:400; }
.fe-viz-record { display:block; max-width:124px; margin:5px auto; }
.fe-viz-record__track { display:flex; height:5px; gap:1px; }
.fe-viz-record__track > i { display:block; background:var(--accent-blue); }
.fe-viz-record__track > i[data-part="1"] { background:var(--accent-red-light,var(--accent-red)); }
.fe-viz-record__track > i[data-part="2"] { background:var(--text-muted); }
.fe-viz-table-help { font-size:12px; color:var(--text-muted); line-height:1.5; margin:8px 0; }
.fe-viz-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.fe-viz-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; margin:12px 0; }
.fe-viz-summary-grid .fe-viz { margin:0; max-width:none; }
.fe-viz-event-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:10px; margin:0 0 20px; }
.fe-viz-event { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; padding:16px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm,8px); background:var(--bg-subtle); color:var(--text-heading); text-decoration:none; font-size:13px; line-height:1.5; }
.fe-viz-event strong { font-size:15px; overflow-wrap:anywhere; }
.fe-viz-event:hover,.fe-viz-event:focus-visible { border-color:var(--accent-blue); outline:2px solid var(--accent-blue); outline-offset:2px; }
.fe-viz-event__date { color:var(--text-muted); font-variant-numeric:tabular-nums; }
.fe-research-visuals #main-content { min-width:0; }
.fe-research-visuals #main-content .fe-c-metric__value,
.fe-research-visuals #main-content .fe-proof-metric__value { font-variant-numeric:tabular-nums; }
.fe-research-visuals #main-content .fe-accuracy-window-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; }
.fe-research-visuals #main-content .fe-c-list__row:has(>.fe-viz) { flex-wrap:wrap; }
.fe-research-visuals #main-content .fe-c-list__row > .fe-viz { flex:1 1 100%; }
.fe-research-visuals #main-content .fe-viz-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:12px; }
.fe-research-visuals #main-content .fe-viz-card-grid > .fe-viz { max-width:none; }
@media (min-width:769px) and (max-width:1024px) {
  .fe-viz-comparison { max-width:100%; }
  .fe-viz-table td,.fe-viz-table th { padding:10px 8px; }
}
@media (max-width:768px) {
  .fe-viz-guide { margin-bottom:14px; padding:10px 12px; }
  .fe-viz { padding:12px; max-width:100%; }
  .fe-viz-jumps a { min-height:34px; display:inline-flex; align-items:center; }
  .fe-viz-scroll { width:100%; min-width:0; }
  .fe-viz-scroll table { max-width:none; }
  .fe-viz-table td,.fe-viz-table th { overflow-wrap:anywhere; }
  .fe-research-visuals .trust-table--cards .fe-viz-cell-track { max-width:140px; }
}
@media (prefers-reduced-motion:reduce) { .fe-viz *, .fe-viz-guide * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media (forced-colors:active) { .fe-viz-track,.fe-viz-split__track,.fe-viz-cell-track { border:1px solid CanvasText; } .fe-viz-track > span,.fe-viz-cell-track > i,.fe-viz-split__track > span { background:Highlight; forced-color-adjust:none; } }
@media print { .fe-viz-guide { display:none; } .fe-viz { break-inside:avoid; } .fe-viz-scroll { overflow:visible; } }
