/* Guias de laboratório: usa os componentes de teoria.css e acrescenta o que é só dos guias. */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.guia-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center}
.guia-capa .frame img{aspect-ratio:1/1;object-fit:cover}
@media (max-width:860px){.guia-hero{grid-template-columns:minmax(0,1fr)}.guia-capa{max-width:420px}}
.artigo-corpo .caixa.res{margin-bottom:6px}
.guia-passos{margin:6px 0}
.guia-passos p{font-size:16px;line-height:1.6}
table.guia-tab td,table.guia-tab th{font-size:14.5px}
table.guia-tab .taxon{font-weight:400;font-size:13px;color:var(--ink-3);font-style:italic}
table.guia-tab.classes{min-width:420px}
table.guia-tab.classes tbody th{width:14%;font:600 15px var(--mono)}
.tag-v,.tag-i{display:inline-block;font:600 11.5px/1 var(--mono);letter-spacing:.06em;padding:4px 8px;border-radius:999px;margin:2px 4px 2px 0}
.tag-v{color:var(--viable);border:1.5px solid var(--viable)}
.tag-i{color:var(--inviable);border:1.5px dashed var(--inviable)}
.fig .frame.claro{background:#fff}
.tz-cortes text{font-size:14px}
.tz-cortes text.tinta{font-weight:650;font-size:16px}
.tz-barra .acc{stroke-width:3}
/* lista de guias */
.guias-lista a img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin-bottom:6px}

/* calculadora v2 */
.tz-topo{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.tz-casos,.tz-acoes,.tz-maismenos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tz-chip{font:500 13px var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer;min-height:34px}
.tz-chip:hover{border-color:var(--accent)}
.tz-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint)}
.tz-chip:disabled{opacity:.4;cursor:default}
.tz-chip:focus-visible,.tz-ver:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tz-corpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:720px){.tz-corpo{grid-template-columns:minmax(0,1fr)}}
.tz-tab{display:grid;gap:10px;min-width:0}
table.tz-reps{width:100%;border-collapse:collapse}
table.tz-reps th,table.tz-reps td{padding:4px 4px;text-align:left}
table.tz-reps thead th{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
table.tz-reps tr.sel{background:var(--accent-tint)}
.tz-ver{font:600 14px var(--mono);color:var(--ink-2);background:none;border:1.5px solid var(--line);border-radius:50%;width:30px;height:30px;cursor:pointer}
tr.sel .tz-ver{border-color:var(--accent);color:var(--accent)}
.tz-pc{position:relative;min-width:62px;font:600 14px var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.tz-pc i{display:block;height:4px;margin-top:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) var(--p),var(--line) var(--p))}
.tz-calc input[type=number]{font:600 16px var(--mono);background:var(--bg);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-ctl,2px);padding:7px 8px;min-height:40px;width:100%;min-width:0}
.tz-calc input[type=number]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.tz-placa{margin:0;display:grid;gap:8px}
.tz-placa svg{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;background:transparent!important;touch-action:manipulation}
.tz-petri{fill:var(--stage);stroke:var(--line);stroke-width:2}
.tz-s{cursor:pointer}
.tz-s ellipse{stroke-width:1.6;transition:fill .15s,stroke .15s}
.tz-s.sv ellipse{fill:var(--viable);stroke:var(--viable)}
.tz-s.si ellipse{fill:transparent;stroke:var(--inviable)}
.tz-s:hover ellipse{stroke:var(--ink);stroke-width:2.4}
.tz-pilha{background:transparent!important}
.tz-pilha .tz-pn{font:600 12px var(--mono);fill:#0b1214}
.tz-pilha .tz-cl{font:500 11.5px var(--mono);fill:var(--ink-3)}
.tz-pilha .tz-chave{fill:none;stroke:var(--ink-3);stroke-width:1.2}
.tz-frase{color:var(--ink-2)!important;font-size:15px!important}
.tz-status{font-size:14.5px;line-height:1.5;padding:8px 12px;border-radius:var(--r-panel);margin:0}
.tz-status:empty{display:none}
.tz-status.ok{border:1.5px solid var(--viable);color:var(--ink)}
.tz-status.alerta{border:1.5px dashed var(--inviable);color:var(--ink)}
.tz-simula{display:grid;grid-template-columns:auto minmax(120px,260px) 1fr;gap:8px 14px;align-items:center}
.tz-simula label{font:500 13.5px var(--mono);color:var(--ink-2)}
.tz-simula output{color:var(--ink);font-weight:600}
@media (max-width:720px){.tz-simula{grid-template-columns:1fr}}
.tz-nota{font-size:13px!important}
/* casos */
.tz-casos-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.tz-caso{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);padding:16px 18px;display:grid;gap:8px;align-content:start}
.tz-caso h3{font-size:17px!important;line-height:1.3;margin:0!important}
.tz-caso p{font-size:15px!important;margin:0}
.tz-caso .num-caso{font:600 22px var(--mono);color:var(--ink)}
.tz-caso a.go{font:500 13.5px var(--mono)}
/* impressão: só o que interessa, em papel branco */
@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#f2f2f2;--stage:#fff;--ink:#000;--ink-2:#222;--ink-3:#555;--line:#bbb;--line-soft:#ddd;--accent-tint:#e8f6f8}
  body{background:#fff!important}
  header,footer,.artigo-toc,.cta-band,.cultura-faixa,.ficha,.tz-acoes,.tz-casos,.tz-simula input,.cookie,details.creditos{display:none!important}
  .artigo{grid-template-columns:1fr!important}
  .tz-calc{break-inside:avoid}
}
.tz-modos{display:flex;flex-wrap:wrap;gap:8px 22px}
.tz-calc .tz-modos label{display:flex;align-items:center;gap:8px;font:500 14.5px var(--sans);color:var(--ink);cursor:pointer}
.tz-modos input{accent-color:var(--accent);width:16px;height:16px;margin:0}
.tz-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:560px}
.tz-calc .tz-classes label{display:grid;gap:4px;font:600 13px var(--mono);color:var(--ink-2)}
.tz-calc .tz-simula label{white-space:nowrap}
.tz-barra{background:transparent!important}
.tz-barra text{font:500 12px var(--mono);fill:var(--ink-3)}
.tz-barra .acc{stroke-width:3}
@media (prefers-reduced-motion:no-preference){#tz-faixa,#tz-ponto{transition:all .25s ease}}
.tz-calc .tz-simula label{display:block}
.tz-casos-lista{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
