/* Hình minh họa hình học. Các class (ln, fl, hid, dg, mk, dot, tx) do tools/make_figures.py tạo ra. */
:root { --fig-fill: rgba(36, 71, 201, .14); }
:root[data-theme='dark'] { --fig-fill: rgba(127, 160, 255, .22); }

.fig { margin: 24px 0; padding: 18px 20px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.fig-art { width: 100%; display: flex; justify-content: center; min-height: 120px; }
.fig-art svg { width: 100%; height: auto; overflow: visible; }
.fig figcaption { font-size: 14px; line-height: 1.5; color: var(--muted); text-align: center; max-width: 52ch; }

.fig svg .ln { fill: none; stroke: var(--ink); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.fig svg .fl { fill: var(--fig-fill); stroke: var(--ink); stroke-width: 2; stroke-linejoin: round; }
.fig svg .hid { fill: none; stroke: var(--muted); stroke-width: 1.6; stroke-dasharray: 5 5; }
.fig svg .dg { fill: none; stroke: var(--accent); stroke-width: 2.2; stroke-dasharray: 6 4; stroke-linecap: round; }
.fig svg .mk { fill: none; stroke: var(--muted); stroke-width: 1.6; }
.fig svg .dot { fill: var(--ink); }
.fig svg .tx { fill: var(--ink); font-family: var(--serif); font-style: italic; font-size: 18px; }
.fig svg .tx.up { font-style: normal; }
.fig svg .tx.sm { font-size: 14px; }
