/* Mapa interativo da BNCC (/material-adaptado/). Fonte: _fonte/mapa-interativo/mapa-bncc.css */
.mi-secao { padding: 36px 0 0; scroll-margin-top: 80px; }
.mi-secao > h2 { margin: 0 0 6px; font-size: clamp(24px, 3vw, 30px); }
.mi-secao > p { color: var(--ink-2); margin: 0 0 14px; max-width: 680px; }
#mapa-interativo { --u0: #1f6f43; --u1: #8a4b00; --u2: #1d5fa8; --u3: #a8325a; --u4: #6b4fa8; --u5: #0f7480; --u6: #6f6100; --u7: #b0451c; }
:root[data-theme="dark"] #mapa-interativo { --u0: #6fd39b; --u1: #f0a860; --u2: #7fb2ec; --u3: #f08cab; --u4: #b9a2ee; --u5: #6fd0da; --u6: #d9c75c; --u7: #f59a72; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) #mapa-interativo { --u0: #6fd39b; --u1: #f0a860; --u2: #7fb2ec; --u3: #f08cab; --u4: #b9a2ee; --u5: #6fd0da; --u6: #d9c75c; --u7: #f59a72; } }
#mapa-interativo:not(.mi-pronto) { display: none; }
.mi-controles { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-bottom: 12px; }
.mi-grupo { display: flex; flex-wrap: wrap; gap: 6px; }
.mi-chip { font: 500 14px var(--body); color: var(--ink); background: var(--paper); border: 1.5px solid var(--ink); border-radius: 99px; padding: 6px 12px; cursor: pointer; min-height: 36px; }
.mi-chip:hover { background: var(--pill); }
.mi-chip[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.mi-busca { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-2); }
.mi-busca input { font: 400 15px var(--body); color: var(--ink); background: var(--paper); border: 1.5px solid var(--ink); border-radius: 99px; padding: 7px 14px; width: 230px; max-width: 100%; }
.mi-corpo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; }
.mi-tela { position: relative; border: 1.5px solid var(--ink); border-radius: 22px; background: var(--paper); overflow: hidden; }
.mi-svg { display: block; width: 100%; height: 600px; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.mi-svg:active { cursor: grabbing; }
.mi-zoom { position: absolute; right: 10px; top: 10px; display: flex; flex-direction: column; gap: 6px; }
.mi-zoom button { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--ink); background: var(--paper); color: var(--ink); font: 600 18px var(--body); cursor: pointer; }
.mi-zoom button:hover { background: var(--pill); }
.mi-dica { position: absolute; left: 14px; bottom: 8px; margin: 0; font-size: 12px; color: var(--ink-3); pointer-events: none; }
.mi-painel { border: 1.5px solid var(--ink); border-radius: 22px; background: var(--paper); padding: 16px 18px; font-size: 15px; align-self: start; max-height: 600px; overflow-y: auto; box-sizing: border-box; }
.mi-painel p { margin: 0 0 10px; }
.mi-titulo { font-family: var(--display); font-size: 21px; line-height: 1.2; }
.mi-cod { font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--ink-2); }
.mi-texto { color: var(--ink-2); }
.mi-leve { font-size: 14px; color: var(--ink-2); }
.mi-painel a { color: var(--ink); }
.mi-abrir { display: inline-block; margin: 0 8px 10px 0; background: var(--ink); color: var(--paper) !important; border: 0; border-radius: 99px; padding: 9px 18px; font: 500 15px var(--body); text-decoration: none; cursor: pointer; }
.mi-lista { margin: 0; padding: 0 0 0 18px; font-size: 14px; }
.mi-lista li { margin-bottom: 6px; }
.mi-anos { display: flex; flex-wrap: wrap; gap: 6px; }
/* nós e ligações */
.mi-lig { fill: none; stroke: var(--line); stroke-opacity: .9; transition: opacity .2s; }
.mi-lig.u0 { stroke: var(--u0); } .mi-lig.u1 { stroke: var(--u1); } .mi-lig.u2 { stroke: var(--u2); } .mi-lig.u3 { stroke: var(--u3); }
.mi-lig.u4 { stroke: var(--u4); } .mi-lig.u5 { stroke: var(--u5); } .mi-lig.u6 { stroke: var(--u6); } .mi-lig.u7 { stroke: var(--u7); }
.mi-lig { stroke-opacity: .35; }
.mi-lig.mi-forte { stroke-opacity: 1; }
.mi-no { cursor: pointer; transition: opacity .2s; outline: none; }
.mi-no text { font-family: var(--body); fill: var(--ink); pointer-events: none; }
.mi-no rect { fill: var(--paper); stroke: var(--ink); stroke-width: 1.5; }
.mi-hab rect.mi-fundo { fill: var(--paper); stroke: none; fill-opacity: .85; }
.mi-hab text { font-weight: 500; }
.mi-hab.u0 text { fill: var(--u0); } .mi-hab.u1 text { fill: var(--u1); } .mi-hab.u2 text { fill: var(--u2); } .mi-hab.u3 text { fill: var(--u3); }
.mi-hab.u4 text { fill: var(--u4); } .mi-hab.u5 text { fill: var(--u5); } .mi-hab.u6 text { fill: var(--u6); } .mi-hab.u7 text { fill: var(--u7); }
.mi-hab.mi-sem text { font-style: italic; font-weight: 400; }
.mi-uni rect { stroke-width: 2.5; }
.mi-uni text { font-family: var(--display); }
.mi-uni.u0 rect { stroke: var(--u0); } .mi-uni.u1 rect { stroke: var(--u1); } .mi-uni.u2 rect { stroke: var(--u2); } .mi-uni.u3 rect { stroke: var(--u3); }
.mi-uni.u4 rect { stroke: var(--u4); } .mi-uni.u5 rect { stroke: var(--u5); } .mi-uni.u6 rect { stroke: var(--u6); } .mi-uni.u7 rect { stroke: var(--u7); }
.mi-ano rect, .mi-disc rect { fill: var(--ink); }
.mi-ano text, .mi-disc text { fill: var(--paper); font-family: var(--display); }
.mi-disc rect { fill: var(--marca, #fff36b); }
.mi-disc text { fill: var(--ink); }
.mi-no:hover rect, .mi-no:focus-visible rect { stroke-width: 3.5; }
.mi-hab:hover rect.mi-fundo, .mi-hab:focus-visible rect.mi-fundo { fill: var(--pill); stroke: var(--ink); stroke-width: 1.5; }
.mi-no.mi-sel rect { stroke: var(--ink); stroke-width: 3.5; }
.mi-hab.mi-sel rect.mi-fundo { fill: var(--marca, #fff36b); stroke: var(--ink); stroke-width: 1.5; }
.mi-hab.mi-sel text, .mi-hab.mi-achado text { fill: var(--ink); }
.mi-hab.mi-achado rect.mi-fundo { fill: var(--marca, #fff36b); }
.mi-apagado { opacity: .18; }
.mi-lista-titulo { margin-top: 28px !important; }
@media (prefers-reduced-motion: reduce) { .mi-no, .mi-lig { transition: none; } }
@media (max-width: 760px) {
  .mi-corpo { grid-template-columns: 1fr; }
  .mi-svg { height: 620px; }
  .mi-painel { max-height: none; }
  .mi-busca { width: 100%; } .mi-busca input { flex: 1; width: auto; }
}
