/* HUBMAT Visual — Ensino Médio · Bloco 500 */
.em5-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.em5-controls .btn{flex:1 1 98px}
.em5-readout{text-align:center;font-size:clamp(21px,4vw,34px);font-weight:850;margin:10px 0}
.em5-table{width:100%;max-width:680px;margin:auto;border-collapse:collapse;background:#fff}.em5-table th,.em5-table td{padding:8px;border:1px solid var(--line);text-align:center}
.em5-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.em5-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}.em5-card strong{display:block;font-size:25px}
.em5-plane svg,.em5-map svg,.em5-tiling svg{width:100%;height:auto;display:block;max-width:680px;margin:auto}.em5-axis{stroke:#607584;stroke-width:2}.em5-gridline{stroke:#d6e0d8;stroke-width:1}.em5-curve{fill:none;stroke:#235f9b;stroke-width:4}.em5-trend{stroke:#a4481a;stroke-width:4}.em5-point{fill:#f2c257;stroke:#7b5a13;stroke-width:2}
.em5-solid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:auto}.em5-solid>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}.em5-solid strong{display:block;font-size:25px}
.em5-poly{fill:#d8e9f755;stroke:#235f9b;stroke-width:3}.em5-proj{fill:none;stroke:#235f9b;stroke-width:3}.em5-proj.alt{stroke:#a4481a}
.em5-outcomes{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.em5-outcome{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:700}.em5-outcome.on{background:var(--gold);border-color:#8c6519}
@media(max-width:600px){.em5-grid{grid-template-columns:1fr 1fr}.em5-solid{grid-template-columns:1fr}.em5-controls .btn{flex-basis:42%}}
.em5-guide{stroke:#146348;stroke-width:2;stroke-dasharray:6 5}.em5-vertex{fill:#146348;stroke:#fff;stroke-width:2}.em5-data-point{fill:#235f9b;stroke:#fff;stroke-width:1.5}.em5-space-view{max-width:680px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.em5-weight-row{display:flex;gap:6px;align-items:stretch;min-height:72px}.em5-weight-outcome{display:grid;place-items:center;min-width:52px;background:#eef3ed;border:1px solid #9eb0a2;border-radius:9px;padding:8px;font-weight:750}.em5-weight-outcome.on{background:var(--gold);border-color:#8e671b}.em5-continuum{height:42px;border:2px solid #426251;border-radius:10px;overflow:hidden;background:#eef3ed}.em5-continuum span{display:block;height:100%;background:var(--gold)}.em5-space-view p{text-align:center;margin:8px 0 0;font-weight:750}.em5-map{max-width:720px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.em5-plane{max-width:720px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}

.em5-tiling{max-width:720px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.em5-angle-sector{fill:#d9e8f588;stroke:#235f9b;stroke-width:2}.em5-center-dot{fill:#146348;stroke:#fff;stroke-width:2}.em5-label{font-size:14px;fill:#50665b;font-weight:700}.em5-vertex-dot{fill:#146348;stroke:#fff;stroke-width:1.5}

.em5-sequence-guide{stroke:#87a0af;stroke-width:2;stroke-dasharray:5 5}.em5-sequence-guide.quadratic{stroke:#9a8350}.em5-sequence-point{fill:#235f9b;stroke:#fff;stroke-width:1.5}.em5-layer-a{fill:#d9e8f5;stroke:#235f9b;stroke-width:1.5}.em5-layer-b{fill:#f7dda0;stroke:#9a711b;stroke-width:1.5}.em5-layer-edge{stroke:#426251;stroke-width:2}.em5-plane [data-cavalieri]{overflow:visible}

.em5-pair-line{stroke:#8aa0ad;stroke-width:2;stroke-dasharray:5 5}.em5-mirror{fill:#fff;stroke:#235f9b;stroke-width:3}.em5-point.em5-draggable{cursor:grab;touch-action:none}.em5-point.em5-draggable:active{cursor:grabbing}.em5-point.em5-draggable:focus{stroke:#1d3529;stroke-width:4}

.em5-scan{max-width:680px;margin:8px auto 0;text-align:center;font-weight:750}.em5-scan strong{display:inline-block;min-width:52px}.em5-scan-line{stroke:#146348;stroke-width:2;stroke-dasharray:8 6;opacity:.7}.em5-scan-section{fill:#f2c25799;stroke:#8e671b;stroke-width:3}

.em5-gap-ring{stroke:#b68217;stroke-width:8;stroke-linecap:round}.em5-overlap-ring{stroke:#a4481a;stroke-width:8;stroke-linecap:round}.em5-fit-ring{stroke:#146348;stroke-width:7}

.em5-radius{stroke:#b8c8bf;stroke-width:1.5}.em5-apothem{stroke:#a4481a;stroke-width:3;stroke-dasharray:7 5}

.em5-step-link{stroke:#146348;stroke-width:4}.em5-step-link.multiply{stroke:#a4481a}.em5-step-label{font-size:16px;fill:#1d3529;font-weight:850;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}

.em5-map-grid{stroke:#d9e3dd;stroke-width:1}.em5-indicatrix{fill:#f2c25755;stroke:#a4481a;stroke-width:3}.em5-indicatrix.alt{fill:none;stroke:#607584;stroke-dasharray:6 5}.em5-residual{stroke:#a4481a;stroke-width:2.5;stroke-dasharray:4 4}.em5-predicted-point{fill:#fff;stroke:#a4481a;stroke-width:2}

.em5-weight-outcome{flex-direction:column;gap:3px}.em5-weight-outcome b,.em5-weight-outcome small{display:block}.em5-weight-outcome small{font-size:12px;font-weight:650}.em5-continuum{position:relative}.em5-continuum i{position:absolute;top:0;bottom:0;width:1px;background:#60758466}

