/* Reading clarity only. Loaded after market_workbench; model/data contracts unchanged. */
.risk-fan-clarity { min-width: 0; }
.risk-fan-clarity .risk-scenario-fan-head { flex-wrap: wrap; gap: 6px 14px; }
.risk-fan-clarity .risk-scenario-fan-head > span { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.risk-fan-clarity .fan-time-guide { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 5px; font-size: 13px; line-height: 1.7; }
.risk-fan-clarity .fan-time-guide span:first-child { color: var(--metric-spx, #22d3ee); }
.risk-fan-clarity .fan-time-guide span:last-child { color: var(--today-text); }
.risk-fan-clarity .fan-spx-history { fill: none; stroke: var(--metric-spx, #22d3ee); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.risk-fan-clarity .fan-anchor { stroke: var(--text3); stroke-width: 1; stroke-dasharray: 4 5; }
.risk-fan-clarity figcaption { flex-wrap: wrap; gap: 8px 18px; }
.risk-fan-clarity figcaption i.history { width: 22px; height: 3px; background: var(--metric-spx, #22d3ee); }
.risk-fan-clarity .fan-plain-note { margin: 14px 0; color: var(--text); font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.risk-fan-clarity .fan-milestones { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.risk-fan-clarity .fan-milestones > div { min-width: 0; display: grid; gap: 4px; overflow-wrap: anywhere; }
.risk-fan-clarity .fan-milestones b { font-size: 13px; color: var(--text2); }
.risk-fan-clarity .fan-milestones strong { font-size: 17px; line-height: 1.6; }
.risk-fan-clarity .fan-milestones span, .risk-fan-clarity .fan-milestones small, .risk-fan-clarity .fan-coverage-note { color: var(--text2); font-size: 13px; line-height: 1.7; }
.risk-fan-clarity .fan-coverage-note { margin-top: 12px; }
.risk-fan-clarity svg:focus-visible { outline: 3px solid var(--info-text); outline-offset: 4px; }
@media (max-width: 600px) {
  .risk-fan-clarity .fan-milestones { grid-template-columns: 1fr; gap: 12px; }
  .risk-fan-clarity .fan-milestones > div { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3px 8px; }
  .risk-fan-clarity .fan-milestones span, .risk-fan-clarity .fan-milestones small { grid-column: 1/-1; }
  .risk-fan-clarity .fan-plain-note { font-size: 16px; }
}
/* Merge after the workbench layer. Scope excludes other market cards and charts. */
.risk-analogue-card[data-plain-analogue] { display: block; padding: 20px; background: var(--panel-soft); }
.risk-analogue-card[data-plain-analogue] .market-analogue-top { display: flex; justify-content: space-between; gap: 10px; color: var(--text2); }
.risk-analogue-card[data-plain-analogue] .market-analogue-top :is(time,span) { font-size: 13px; line-height: 1.6; }
.risk-analogue-card[data-plain-analogue] .market-analogue-top time { font-variant-numeric: tabular-nums; }
.risk-analogue-card[data-plain-analogue] .market-analogue-title { margin: 10px 0 0; color: var(--text); font-size: 20px; line-height: 1.45; font-weight: 650; text-wrap: balance; }
.risk-analogue-card[data-plain-analogue] .market-analogue-history { margin: 9px 0 0; color: var(--text2); font-size: 15px; line-height: 1.8; }
.market-analogue-chart { margin: 17px 0 19px; }
.market-analogue-chart svg { display: block; width: 100%; height: 90px; overflow: visible; }
.market-analogue-chart .market-analogue-zero { stroke: var(--chart-grid-strong); stroke-dasharray: 5 5; }
.market-analogue-chart .market-analogue-path { fill: none; stroke: var(--risk-orange); stroke-width: 2.2; }
.market-analogue-chart .market-analogue-path path { vector-effect: non-scaling-stroke; }
.market-analogue-chart .market-analogue-path circle { fill: var(--risk-orange); stroke: none; }
.risk-analogue-card[data-plain-analogue] .market-analogue-chart figcaption { display: flex; justify-content: space-between; gap: 8px; margin-top: 7px; color: var(--text2); }
.risk-analogue-card[data-plain-analogue] .market-analogue-chart figcaption span { font-size: 12px; line-height: 1.6; }
.risk-analogue-card[data-plain-analogue] .market-analogue-path-note { margin-top: 8px; font-size: 14px; color: var(--text2); line-height: 1.7; }
.market-analogue-point { padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--border); }
.market-analogue-point h5 { margin: 0 0 6px; color: var(--text2); font-size: 13px; line-height: 1.6; font-weight: 600; }
.risk-analogue-card[data-plain-analogue] .market-analogue-point p { margin: 0; color: var(--text); font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.risk-analogue-card[data-plain-analogue] .market-analogue-important p { color: var(--today-text); font-weight: 600; }
.market-analogue-details { margin-top: 18px; border-top: 1px solid var(--border); }
.market-analogue-details > summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; padding: 9px 0; color: var(--info-text); font-size: 14px; line-height: 1.6; list-style: none; cursor: pointer; transition: color 150ms; }
.market-analogue-details > summary::-webkit-details-marker { display: none; }
.market-analogue-details > summary::after { content: "＋"; }
.market-analogue-details[open] > summary::after { content: "−"; }
.market-analogue-details > summary:hover { color: var(--text); }
.market-analogue-details > summary:focus-visible { outline: 3px solid var(--info-text); outline-offset: 3px; }
.market-analogue-detail-body { padding-top: 11px; margin-top: 2px; border-top: 1px solid var(--border); }
.market-analogue-detail-body > p + p { margin-top: 11px; }
.market-analogue-detail-body h5 { margin: 17px 0 6px; color: var(--text); font-size: 14px; line-height: 1.7; }
.risk-analogue-card[data-plain-analogue] .market-analogue-detail-body :is(p,li,dt,dd,small) { color: var(--text2); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.risk-analogue-card[data-plain-analogue] .market-analogue-detail-body b { color: var(--text); }
.market-analogue-raw-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 14px; margin: 15px 0; }
.market-analogue-raw-metrics > div { min-width: 0; }
.market-analogue-raw-metrics dd { margin: 2px 0 0; font-variant-numeric: tabular-nums; }
.market-analogue-factor-list { margin: 8px 0 0; padding-left: 18px; }
.market-analogue-factor-list li + li { margin-top: 9px; }
.market-analogue-event-list { display: grid; gap: 12px; margin: 8px 0 12px; padding: 0; list-style: none; }
.market-analogue-event-list li { display: grid; gap: 2px; }
.risk-analogue-card[data-plain-analogue] .market-analogue-event-list a { min-height: 44px; color: var(--info-text); overflow-wrap: anywhere; }
.market-analogue-overview { margin-bottom: 17px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.market-analogue-overview h4 { margin: 0; color: var(--text); font-size: 20px; line-height: 1.45; font-weight: 650; }
.market-analogue-overview p { max-width: 950px; margin: 7px 0 0; color: var(--text2); font-size: 15px; line-height: 1.8; }
@media (max-width: 1000px) {
  .risk-analogue-grid:has([data-plain-analogue]) { grid-template-columns: minmax(0,1fr); }
  .risk-analogue-grid > [data-plain-analogue]:last-child { grid-column: auto; }
  .market-analogue-chart svg { height: 100px; }
}
@media (max-width: 520px) {
  .risk-analogue-card[data-plain-analogue] { padding: 18px; }
  .risk-analogue-card[data-plain-analogue] .market-analogue-history,
  .risk-analogue-card[data-plain-analogue] .market-analogue-detail-body :is(p,li,dt,dd,small),
  .market-analogue-overview p { font-size: 16px; }
  .market-analogue-point h5, .market-analogue-details > summary { font-size: 14px; }
  .market-analogue-raw-metrics { grid-template-columns: minmax(0,1fr); }
  .risk-analogue-card[data-plain-analogue] .market-analogue-chart figcaption { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .market-analogue-details > summary { transition: none; } }
