.fnv-fig { margin: 28px 0; }
.fnv-fig__svg { display: block; width: 100%; max-width: 560px; height: auto; margin-inline: auto; }
.fnv-fig__pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 768px) { .fnv-fig__pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fnv-fig figcaption { margin-top: 12px; font-size: .9rem; line-height: 1.9; color: var(--fnv-ink-2); border-inline-start: 3px solid var(--fnv-ink); padding-inline-start: 12px; }
.fnv-fig svg text { unicode-bidi: plaintext; font-family: var(--fnv-font-body); fill: var(--fnv-ink); }
.fnv-fig .fg-t { font-size: 15px; font-weight: 600; }
.fnv-fig .fg-tm { font-size: 14px; font-weight: 600; fill: var(--fnv-ink-2); }
.fnv-fig .fg-tb { font-size: 17px; font-weight: 800; }
.fnv-fig .fg-n { font-family: var(--fnv-font-mono); font-size: 15px; font-weight: 700; }
.fnv-fig .fg-small { font-size: 13px; fill: var(--fnv-ink-3); }
.fnv-fig .fg-strong { font-weight: 800; }
.fnv-fig .fg-tag { fill: var(--fnv-ink); }
.fnv-fig .fg-mono { font-family: var(--fnv-font-mono); }
.fnv-fig .fnv-fig__svg .fg-tag-t { fill: var(--fnv-surface); font-size: 13px; font-weight: 800; }
.fnv-fig .fg-ax { stroke: var(--fnv-ink-3); stroke-width: 1.5; }
.fnv-fig .fg-ln { stroke: var(--fnv-ink); stroke-width: 3; fill: none; }
.fnv-fig .fg-dash { stroke: var(--fnv-ink-3); stroke-width: 1.5; stroke-dasharray: 5 5; }
.fnv-fig .fg-dot { fill: var(--fnv-ink); }
.fnv-fig .fg-sh { fill: var(--fnv-surface-2); }
.fnv-fig .fg-key { stroke: var(--fnv-ink-3); stroke-width: 1; }
.fnv-fig .fg-box { fill: var(--fnv-surface); stroke: var(--fnv-ink); stroke-width: 1.5; }
.fnv-fig .fg-row { fill: none; stroke: var(--fnv-ink-3); stroke-width: .75; }
.fnv-fig .fg-ln.fg-up { stroke: var(--fnv-up); }
.fnv-fig .fg-ln.fg-down { stroke: var(--fnv-down); }
.fnv-fig .fg-pos { stroke: var(--fnv-gamma-pos); }
.fnv-fig .fg-neg { stroke: var(--fnv-gamma-neg); }
.fnv-fig .fg-bar { stroke: var(--fnv-ink); stroke-width: 1; }
.fnv-fig .fg-sq3 { fill: var(--fnv-sq-3); }
.fnv-fig .fg-sq4 { fill: var(--fnv-sq-4); }
.fnv-fig .fg-sq5 { fill: var(--fnv-sq-5); }
.fnv-fig .fg-sq6 { fill: var(--fnv-sq-6); }
.fnv-fig .fg-sq7 { fill: var(--fnv-sq-7); }
.fnv-fig .fg-tag-pos { fill: var(--fnv-gamma-pos); }
.fnv-fig .fg-mk { fill: var(--fnv-ink); stroke: var(--fnv-surface); stroke-width: 2; }
.fnv-fig .fg-mk.is-up { fill: var(--fnv-up); }
.fnv-fig .fg-mk.is-down { fill: var(--fnv-down); }
.fnv-fig .fg-mk.is-pos { fill: var(--fnv-gamma-pos); }
.fnv-fig .fg-mk.is-neg { fill: var(--fnv-gamma-neg); }
.fnv-fig .fnv-fig__svg .fg-mk-t { fill: var(--fnv-surface); font-family: var(--fnv-font-mono); font-size: 12px; font-weight: 800; }
.fnv-fig__keys { list-style: none; margin: 14px auto 0; padding: 0; max-width: 560px; display: grid; gap: 8px; }
.fnv-fig__keys li { display: flex; align-items: flex-start; gap: 10px; font-size: .95rem; line-height: 1.8; color: var(--fnv-ink-2); }
.fnv-fig__k { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; inline-size: 24px; block-size: 24px; margin-top: 3px;
background: var(--fnv-ink); color: var(--fnv-surface); font-family: var(--fnv-font-mono); font-size: .8rem; font-weight: 800; }
.fnv-fig__k.is-up { background: var(--fnv-up); }
.fnv-fig__k.is-down { background: var(--fnv-down); }
.fnv-fig__k.is-pos { background: var(--fnv-gamma-pos); }
.fnv-fig__k.is-neg { background: var(--fnv-gamma-neg); }
.fnv-fig__note { margin: 10px auto 0; max-width: 560px; font-size: .85rem; color: var(--fnv-ink-3); }
