/* ========== Biblioteca de mapas espelhada nas Aulas (volume → módulo → aula) ========== */
.bm{display:grid;gap:28px}
.bm-vol{gap:14px}
.bm-mod{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--naipe)}
.bm-mod-cab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.bm-simb{display:grid;grid-template-rows:auto 1fr;justify-items:center;width:52px;height:56px;padding:4px;border-radius:10px;background:var(--naipe);color:#fff;line-height:1}
.bm-simb small{justify-self:start;font-family:var(--f-mono);font-size:9.5px;font-weight:700;opacity:.85}
.bm-simb b{align-self:center;font-family:var(--f-display);font-weight:800;font-size:22px}
.bm-mod-txt{display:grid;min-width:0}
.bm-mod-txt small{font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bm-mod-txt b{font-size:17px;line-height:1.2}
.bm-mod-n{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}
.bm-aulas{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bm-aula{display:grid;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.bm-aula.vazia{background:transparent;border:1px dashed var(--line)}
.bm-aula-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bm-aula-cab b{flex:1;min-width:160px;font-size:14.5px}
.bm-aula-n{font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--naipe) 16%,transparent);color:var(--naipe)}
.bm-vazio{font-size:12.5px;color:var(--muted)}
.bm-cartas{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:12px}
.bm-anexar{display:grid;gap:12px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--orange)}
.bm-anx-item{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--surface-2)}
.bm-anx-item span:first-child{display:grid}
.bm-anx-item small{font-size:11.5px;color:var(--muted)}
.bm-anx-novo{display:grid;gap:6px}
@media (max-width:560px){.bm-mod{padding:10px}.bm-mod-cab{grid-template-columns:auto minmax(0,1fr)}.bm-mod-n{grid-column:2}}
.bm-mod-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;border-radius:12px}
@media (max-width:560px){.bm-mod-btn{grid-template-columns:auto minmax(0,1fr)}}
.bm-mod-btn:focus-visible{outline:3px solid var(--naipe);outline-offset:4px}
.bm-mod.fechado{gap:0}
.bm-seta{display:inline-block;margin-left:8px;font-style:normal;font-size:16px;transition:transform .2s}
.bm-seta.ab{transform:rotate(180deg)}
.bm-aula.vazia{padding:7px 12px}
.bm-aula-cab .bm-vazio{flex:none}
