/* Mapas científicos: uma linguagem de exploração, sem coordenadas por aula. */
.mind-map-library .vmap{background:#0d2431;border:1px solid #31505e;color:#e4f4f4;box-shadow:0 12px 36px #00121b22;min-width:0}
.mind-map-library .vmap[open]{border-color:#57bfc7;box-shadow:0 16px 42px #00121b40}
.vmap summary{background:linear-gradient(115deg,#173744,#102b39);min-height:5.3rem}
.vmap summary:hover{background:linear-gradient(115deg,#1d4552,#123440)}
.vmap summary:focus-visible,.vmap button:focus-visible{outline:2px solid #a6eff0;outline-offset:3px}
.vmap summary b{font-size:1rem;color:#eaf9f8}.vmap summary small{color:#a6c3cd;line-height:1.35}.vmap .mind-lesson{font-size:.7rem;letter-spacing:.08em;color:#87d9df}
.vmap .mind-map-open{color:#8de0e3;white-space:nowrap}
.vmap-summary-icon{width:2.8rem;height:2.8rem;border-radius:.8rem;display:grid;place-items:center;background:#254d59;color:#99e1df;flex:none}
.vmap-stage{padding:clamp(1rem,2.2vw,2rem)}
.vmap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem}
.vmap-head h3{color:#f0fbfb;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:.03em;margin:.25rem 0}
.vmap-head p{color:#acc9d0;margin:0;line-height:1.55}
.vmap-head .section-kicker,.vmap-detail .section-kicker{color:#87d9df;font-size:.7rem;letter-spacing:.14em;font-weight:800}
.vmap-reset{background:#1a3945;border:1px solid #537783;color:#c8ebee;border-radius:.65rem;padding:.6rem .9rem;cursor:pointer;white-space:nowrap}
.vmap-reset[hidden]{display:none}
.vmap-diagram{position:relative;border:1px solid #345665;border-radius:1rem;background:radial-gradient(ellipse at 48% 40%,#193d4a,#0b202e 72%);overflow:hidden;min-width:0}
.vmap-graphic{display:block;width:100%;height:auto;max-height:28rem;color:#b8eae9}
.vmap-compact{display:none}
.vmap-graphic text{fill:#b1cbd3;font:600 12px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-anchor:middle}
.vmap-graphic .vmap-caption{fill:#9acdd0;font-size:11px}
.vmap-visual-label{display:block;position:absolute;left:1rem;bottom:.6rem;color:#b5d2d8;font-size:.77rem;background:#0b2530dd;padding:.3rem .55rem;border-radius:.35rem;max-width:calc(100% - 2rem)}
.vmap-flow,.vmap-link,.vmap-loop{fill:none;stroke:#80d6dd;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.vmap-loop{stroke-dasharray:7 7;stroke-width:2.5}
.vmap-wave{fill:none;stroke:#85d9dc;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.vmap-range,.vmap-axis,.vmap-bond,.vmap-branch{fill:none;stroke:#557f88;stroke-width:2}
.vmap-safe{fill:#4abfb42b;stroke:#4db9a866;stroke-width:1.5}
.vmap-amplify{fill:none;stroke:#eac57c;stroke-width:3;stroke-linecap:round}
.vmap-icon-cluster circle,.vmap-organ,.vmap-atom,.vmap-flow-node{fill:#28636b66;stroke:#87d7d8;stroke-width:2}
.vmap-atom.secondary{fill:#31637788;stroke:#98c2de}
.vmap-lipids circle,.vmap-solute,.vmap-plasmid{fill:#63bac299;stroke:#a2e6e0;stroke-width:2}
.vmap-lipids path,.vmap-channel,.vmap-myelin,.vmap-dna,.vmap-hypha{fill:none;stroke:#92d3d4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.vmap-cell,.vmap-capsule{fill:#3a8a9030;stroke:#83d1d0;stroke-width:3}
.vmap-capsule{fill:none;stroke:#a7d8c1;stroke-dasharray:6 5;stroke-width:2}
.vmap-ribosome,.vmap-person{fill:#65b7be}
.vmap-person.affected{fill:#e4bd78}
.vmap-nucleus{fill:#37828b44;stroke:#b0e1d9;stroke-width:2}
.vmap-flagellum,.vmap-orbit,.vmap-spike{fill:none;stroke:#86c7c9;stroke-width:2}
.vmap-spike-tip{fill:#92d3d2}
.vmap-target-line{fill:none;stroke:#e4bd78;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.vmap-barrier{fill:none;stroke:#89d8c4;stroke-width:7;stroke-linecap:round}.vmap-barrier.secondary{stroke:#457b87;stroke-width:4}
.vmap-synapse,.vmap-bar{fill:#54afb7;stroke:#a4dce0;stroke-width:1}
.vmap-bar.secondary{fill:#3d7888}
.vmap-matrix-cell{fill:#274856;stroke:#84c9cf;stroke-width:2}.vmap-matrix-cell.true{fill:#386b69}
.vmap-diagram[data-vmap-focus="3"] .vmap-loop{stroke:#a4f0db;stroke-width:4}
.vmap-diagram[data-vmap-focus="4"] .vmap-amplify{stroke:#ffe0a5;stroke-width:4}
.vmap-explorer{display:grid;grid-template-columns:minmax(14rem,1.1fr) minmax(17rem,1fr);gap:1rem;margin-top:1rem}
.vmap-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-content:start}
.vmap-branch{display:flex;align-items:center;text-align:left;gap:.55rem;padding:.75rem;border-radius:.7rem;border:1px solid #395f6c;background:#183843;color:#cce6e9;cursor:pointer;min-height:4rem;font:600 .84rem/1.3 system-ui,sans-serif;transition:background .18s,border-color .18s,transform .18s}
.vmap-branch:hover{background:#27505b;transform:translateY(-1px)}.vmap-branch[aria-pressed="true"]{border-color:#83dbdc;background:#24525c;color:#fff}
.vmap-branch svg{flex:none;color:#95dddc}
.vmap-detail{background:#112d3a;border:1px solid #375b68;border-radius:.8rem;padding:1rem;min-height:11rem;color:#e0f1f0}
.vmap-detail h4{font-size:1.1rem;margin:.4rem 0}.vmap-detail p{color:#bfd7dd;line-height:1.5;margin:.25rem 0 .8rem}
.vmap-empty{display:flex;flex-direction:column;justify-content:center;min-height:8rem}.vmap-empty b{color:#e6f6f5}
.vmap-progress{display:flex;align-items:center;gap:.7rem;color:#a1d3d5;font-size:.68rem;font-weight:700;letter-spacing:.09em}
.vmap-progress-track{background:#33535f;height:.35rem;flex:1;border-radius:1rem;overflow:hidden}.vmap-progress-track i{display:block;background:#72d2d1;height:100%;transition:width .2s}
.vmap-reveal{border-left:3px solid #8dd6d3;background:#23495564;padding:.7rem .8rem;margin:1rem 0;line-height:1.5}
.vmap-controls{display:flex;flex-wrap:wrap;gap:.55rem}.vmap-controls .btn{font-size:.8rem;padding:.55rem .75rem;min-height:2.4rem}
@media(max-width:800px){.vmap-explorer{grid-template-columns:1fr}.vmap-branches{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.mind-map-library .vmap summary{padding:.85rem}.vmap summary small{font-size:.72rem}.vmap-summary-icon{width:2.3rem;height:2.3rem}.vmap-head{flex-direction:column}.vmap-stage{padding:.8rem}.vmap-wide{display:none}.vmap-compact{display:block;max-height:none}.vmap-visual-label{position:static;background:#173745;color:#c8e0e3;padding:.55rem .75rem;border-radius:0;font-size:.72rem;max-width:none}.vmap-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.vmap-branch{min-height:3.8rem;padding:.65rem;font-size:.75rem;overflow-wrap:anywhere}.vmap-branch svg{width:21px;height:21px}.vmap-controls .btn{flex:1 1 auto}.vmap .mind-map-open{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.vmap-branch,.vmap-progress-track i{transition:none}}
