/* Teoria · PCA, SVD e a semente média (/teoria/forma/svd/): figuras em SVG, tabelas e instrumento. */

/* figuras geradas por _src/figuras/teoria-forma-svd.py */
.fg-svd .eixo{fill:none}
.fg-svd text{font-size:14px}
.fg-svd .n,.fg-svd .md{font-weight:600}
.fg-al path{fill:none;stroke-width:.8;opacity:.45}
.fg-al .c0{stroke:#edf2f4}
.fg-al .c1{stroke:var(--seed)}
.fg-al .c2{stroke:var(--accent)}
.fg-al .c3{stroke:#b07a4f}
.fg-al .c4{stroke:#f2c14e}
.fg-al .ini{fill:var(--ink);opacity:.9}
.fg-svd .media{fill:none;stroke:var(--ink);stroke-width:3;opacity:1}
.fg-al .eixo{stroke:var(--line);stroke-width:1;opacity:1}
.fg-svd .ref{fill:none;stroke:var(--ink-3);stroke-width:1.3;stroke-dasharray:2 3}
.fg-svd .modo{fill:none;stroke:var(--seed);stroke-width:2.4;stroke-linejoin:round}
.fg-svd .modo.fora{stroke-dasharray:5 4;opacity:.55}
.fg-modos .media{stroke-width:2.4}
.fg-rec2 .ref{stroke-width:1.5;stroke-dasharray:4 3}
.fg-rec2 .rec{fill:none;stroke:var(--seed);stroke-width:2.4;stroke-linejoin:round}
.fg-var .bar{fill:var(--accent);opacity:.55}
.fg-var .cum{fill:none;stroke:var(--seed);stroke-width:2.4}
.fg-var .res{fill:none;stroke:var(--ink-2);stroke-width:2;stroke-dasharray:6 4}
.fg-var .cum-f{fill:var(--seed)}
.fg-var .res-f{fill:var(--ink-2)}
.fg-var .lb-cum{fill:var(--seed-ink)}
.fg-var .lb-res{fill:var(--ink-2)}

/* tabelas */
.sv-tab-wrap{overflow-x:auto}
.sv-tab{border-collapse:collapse;font:500 14px var(--mono);color:var(--ink-2);min-width:100%}
.sv-tab caption{caption-side:top;text-align:left;font:500 13.5px/1.4 var(--sans);color:var(--ink-3);padding-bottom:8px}
.sv-tab th,.sv-tab td{padding:8px 10px;border-bottom:1px solid var(--line-soft);text-align:right;font-variant-numeric:tabular-nums;vertical-align:top}
.sv-tab thead th{color:var(--ink);font-weight:600;border-bottom-color:var(--line)}
.sv-tab thead th:first-child{text-align:left}
.sv-tab tbody th{color:var(--ink);text-align:left;font-family:var(--sans);font-weight:500}

/* instrumento */
.sv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:820px){.sv-grid{grid-template-columns:minmax(0,1fr)}}
.sv-col{display:grid;gap:12px;min-width:0}
.sv-lab .sv-ctl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:end}
.sv-lab .sv-ctl label{min-width:0}
.sv-lab .sv-ctl input[type=range]{width:100%}
.sv-lab .sv-ctl .btn{justify-self:start}
.sv-lab .sv-aviso{min-height:1.5em;font-size:14px;line-height:1.5;color:var(--seed-ink)}
.sv-lab .sv-sel{font-size:14px;line-height:1.5;color:var(--ink-2)}
.sv-lab .sv-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font:500 12.5px var(--mono);color:var(--ink-3)}
.sv-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.sv-pl{cursor:crosshair;touch-action:none}
.sv-pl text{font:500 14px var(--mono);fill:var(--ink-3)}
.sv-pl .grade{stroke:var(--line-soft);stroke-width:1}
.sv-pl .eixo{stroke:var(--line);stroke-width:1.2}
.sv-pl circle.pt{stroke:var(--stage);stroke-width:1.2}
.sv-pl .alvo{fill:none;stroke:var(--ink);stroke-width:2}
.sv-pl .sel{fill:none;stroke:var(--accent-strong);stroke-width:2.5}
/* .lab svg (teoria.css) também pega o SVG do radical do KaTeX: devolve o estilo do KaTeX */
.lab .katex svg{display:block;position:absolute;width:100%;height:inherit;background:none;border-radius:0}
