/*
 * Biblioteca por assunto (templates/single/assunto.php e templates/archive/assuntos.php; plugin, modulos/biblioteca.php).
 * O texto usa conteudo.css e as contas, base/contas.css; aqui ficam as peças próprias: o cartão "Em 1 minuto", o
 * gráfico por ano, as listas com barra, os padrões, os erros, o exemplo, as questões e as ações.
 * Celular primeiro: uma coluna, nada passa da largura da tela; sem borda colorida à esquerda.
 */

.biblioteca { max-width: 760px; }
.biblioteca-trilha { margin-bottom: var(--m-2); }
.biblioteca-revisao { margin: 0 0 var(--m-4); padding: var(--m-3) var(--m-4); border: 1px dashed var(--m-borda-forte); border-radius: var(--m-raio-m); color: var(--m-texto-2); font-size: var(--m-fs-sm); }

.biblioteca-cabecalho { margin-bottom: var(--m-4); }
.biblioteca-cabecalho .m-titulo-1 { margin: 0; }
.biblioteca-autor { margin: var(--m-3) 0 0; color: var(--m-texto-3); font-size: var(--m-fs-xs); line-height: 1.5; }
.biblioteca-autor a { color: var(--m-texto-2); text-decoration: underline; text-decoration-color: var(--m-borda-forte); text-underline-offset: 2px; }
.biblioteca-lead { margin: 0 0 var(--m-5); color: var(--m-texto); font-size: var(--m-fs-md); line-height: 1.6; }

/* Em 1 minuto */
.biblioteca-minuto { margin: 0 0 var(--m-8); padding: var(--m-4); border: 1px solid var(--m-borda); border-radius: var(--m-raio-g); background: var(--m-superficie); }
.biblioteca-minuto__titulo { margin: 0 0 var(--m-3); color: var(--m-texto-2); font-size: var(--m-fs-sm); font-weight: 600; }
.biblioteca-minuto__numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--m-4) var(--m-3); margin: 0; }
.biblioteca-minuto__numeros div { min-width: 0; }
.biblioteca-minuto__numeros dt { color: var(--m-texto-3); font-size: var(--m-fs-xs); line-height: 1.35; }
.biblioteca-minuto__numeros dd { margin: var(--m-1) 0 0; color: var(--m-texto); font-family: var(--m-fonte-titulo); font-size: var(--m-fs-lg); font-weight: 700; line-height: 1.2; }
.biblioteca-minuto__numeros dd span { color: var(--m-texto-3); font-family: var(--m-fonte); font-size: var(--m-fs-sm); font-weight: 400; }
.biblioteca-minuto__nota { margin: var(--m-4) 0 0; color: var(--m-texto-3); font-size: var(--m-fs-2xs); line-height: 1.5; }

/* Você neste assunto (aluno logado): só dado, sem sugestão */
.biblioteca-voce { margin: calc(-1 * var(--m-4)) 0 var(--m-8); padding: var(--m-4); border: 1px solid var(--m-borda); border-radius: var(--m-raio-g); }
.biblioteca-voce__estado { display: inline-flex; align-items: center; min-height: 32px; margin: 0 0 var(--m-2); padding: 0 var(--m-3); border-radius: var(--m-raio-p); background: var(--m-superficie-2); color: var(--m-texto); font-size: var(--m-fs-sm); font-weight: 600; }
.biblioteca-voce__estado--bom, .biblioteca-voce__estado--dominada { background: var(--m-acao-suave); color: var(--m-acao-texto); }
.biblioteca-voce__texto { margin: 0; color: var(--m-texto-2); font-size: var(--m-fs-sm); line-height: 1.55; }

/* Seções */
.biblioteca-secao { margin: 0 0 var(--m-10); }
.biblioteca-secao > h2 { margin: 0 0 var(--m-3); scroll-margin-top: calc(var(--header-height, 64px) + var(--m-4)); }
.biblioteca-secao > p { line-height: 1.65; }
.biblioteca-nota { color: var(--m-texto-3); font-size: var(--m-fs-sm); }

/* Gráfico por ano: barras de uma cor, valor em cima, ano embaixo */
.biblioteca-grafico { margin: var(--m-4) 0 var(--m-2); }
.biblioteca-grafico svg { display: block; width: 100%; height: auto; overflow: visible; }
.biblioteca-grafico__barra { fill: var(--m-acao); }
.biblioteca-grafico__base { stroke: var(--m-borda-forte); stroke-width: 1; }
.biblioteca-grafico__valor { fill: var(--m-texto-2); font: 600 var(--m-fs-xs) var(--m-fonte); font-variant-numeric: tabular-nums; }
.biblioteca-grafico__ano { fill: var(--m-texto-3); font: 400 var(--m-fs-2xs) var(--m-fonte); }
.biblioteca-grafico figcaption { margin-top: var(--m-2); color: var(--m-texto-3); font-size: var(--m-fs-xs); line-height: 1.5; }

.biblioteca-tabela summary,
.biblioteca-mais summary { display: flex; align-items: center; min-height: var(--m-toque); color: var(--m-acao-texto); font-size: var(--m-fs-sm); font-weight: 600; cursor: pointer; }
.biblioteca-tabela table { width: 100%; max-width: 320px; border-collapse: collapse; font-size: var(--m-fs-sm); font-variant-numeric: tabular-nums; }
.biblioteca-tabela th, .biblioteca-tabela td { padding: var(--m-2) var(--m-3); border-bottom: 1px solid var(--m-borda); text-align: right; }
.biblioteca-tabela th[scope="row"], .biblioteca-tabela thead th:first-child { text-align: left; }

/* Listas com barra (tópicos na porta, assuntos no tópico) */
.biblioteca-ranking { margin: 0; padding: 0; list-style: none; }
.biblioteca-ranking li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--m-1) var(--m-3); padding: var(--m-3) 0; border-bottom: 1px solid var(--m-borda); }
.biblioteca-ranking__nome { min-width: 0; color: var(--m-texto); font-size: var(--m-fs-base); line-height: 1.4; }
.biblioteca-ranking__nome a { color: var(--m-acao-texto); text-decoration: none; }
@media (hover: hover) { .biblioteca-ranking__nome a:hover { text-decoration: underline; } }
.biblioteca-ranking__n { color: var(--m-texto-2); font-size: var(--m-fs-sm); font-weight: 600; text-align: right; }
.biblioteca-ranking__barra { grid-column: 1 / -1; height: 6px; border-radius: 3px; background: var(--m-superficie-2); overflow: hidden; }
.biblioteca-ranking__barra span { display: block; height: 100%; border-radius: 3px; background: var(--m-acao); }

/* Padrões (como o ENEM cobra) */
.biblioteca-cartoes { display: grid; gap: var(--m-3); margin: var(--m-4) 0 0; padding: 0; list-style: none; }
.biblioteca-cartao { padding: var(--m-4); border: 1px solid var(--m-borda); border-radius: var(--m-raio-g); background: var(--m-superficie); }
.biblioteca-cartao__titulo { margin: 0 0 var(--m-2); color: var(--m-texto); font-weight: 600; }
.biblioteca-cartao__conta { margin-left: var(--m-1); color: var(--m-texto-3); font-size: var(--m-fs-xs); font-weight: 400; }
.biblioteca-cartao__texto { margin: 0 0 var(--m-3); color: var(--m-texto-2); font-size: var(--m-fs-sm); line-height: 1.55; }
.biblioteca-cartao .m-acao { font-size: var(--m-fs-sm); }

/* Erros que mais derrubam */
.biblioteca-erros { margin: var(--m-4) 0 0; padding: 0; list-style: none; }
.biblioteca-erros li { padding: var(--m-4) 0; border-bottom: 1px solid var(--m-borda); }
.biblioteca-erros li:first-child { padding-top: 0; }
.biblioteca-erros__texto { margin: 0 0 var(--m-2); color: var(--m-texto); font-weight: 600; line-height: 1.5; }
.biblioteca-erros__dado { margin: 0; color: var(--m-texto-2); font-size: var(--m-fs-sm); line-height: 1.55; }
.biblioteca-erros__dado a { display: inline-block; margin-top: var(--m-1); color: var(--m-acao-texto); }

/* Entenda em poucos minutos: explicação e exemplo do Estudar */
.biblioteca-aula h3 { margin: var(--m-6) 0 var(--m-2); font-size: var(--m-fs-md); }
.biblioteca-aula p { line-height: 1.65; }
.biblioteca-aula .metria-math, .biblioteca-aula mjx-container[display="true"] { max-width: 100%; overflow-x: auto; }
.biblioteca-resumo { margin: var(--m-4) 0 0; padding: var(--m-3) var(--m-4); border-radius: var(--m-raio-m); background: var(--m-superficie-2); }
.biblioteca-exemplo { margin-top: var(--m-6); padding: var(--m-4); border: 1px solid var(--m-borda); border-radius: var(--m-raio-g); }
.biblioteca-exemplo h3 { margin-top: 0; }
.biblioteca-exemplo__passos { margin: var(--m-3) 0 0; padding-left: 1.3em; }
.biblioteca-exemplo__passos li { margin-bottom: var(--m-3); }
.biblioteca-exemplo__resposta { margin: var(--m-2) 0 0; }
.biblioteca-aula__mais { margin-top: var(--m-4); color: var(--m-texto-3); font-size: var(--m-fs-sm); }

/* A mais difícil e a mais fácil */
.biblioteca-extremos { display: grid; gap: var(--m-3); margin: 0; padding: 0; list-style: none; }
.biblioteca-extremos li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--m-1) var(--m-3); align-items: baseline; padding: var(--m-4); border: 1px solid var(--m-borda); border-radius: var(--m-raio-g); }
.biblioteca-extremos span { grid-column: 1 / -1; color: var(--m-texto-3); font-size: var(--m-fs-xs); }
.biblioteca-extremos a { color: var(--m-acao-texto); }
.biblioteca-extremos strong { font-family: var(--m-fonte-titulo); font-size: var(--m-fs-lg); }

/* Questões do assunto */
.biblioteca-questoes { margin: 0; padding: 0; list-style: none; }
.biblioteca-questoes li { display: flex; justify-content: space-between; gap: var(--m-3); border-bottom: 1px solid var(--m-borda); }
.biblioteca-questoes a { flex: 1; min-width: 0; display: flex; align-items: center; min-height: var(--m-toque); color: var(--m-acao-texto); text-decoration: none; }
@media (hover: hover) { .biblioteca-questoes a:hover { text-decoration: underline; } }
.biblioteca-questoes .m-num { display: flex; align-items: center; color: var(--m-texto-2); font-size: var(--m-fs-sm); }
.biblioteca-mais { margin-top: var(--m-1); }
.biblioteca-questoes__feita { margin-left: var(--m-2); padding: 2px var(--m-2); border-radius: var(--m-raio-p); background: var(--m-superficie-2); color: var(--m-texto-2); font-size: var(--m-fs-2xs); font-weight: 600; white-space: nowrap; }
.biblioteca-questoes__feita--certa { background: var(--m-acao-suave); color: var(--m-acao-texto); }

/* Perguntas (no formato em que se busca) */
.biblioteca-perguntas h3 { margin: var(--m-5) 0 var(--m-2); font-size: var(--m-fs-md); line-height: 1.35; }
.biblioteca-perguntas p { margin: 0; line-height: 1.65; }

/* Flashcards do tópico */
.biblioteca-baralho { margin: var(--m-8) 0 0; }

/* Antes e depois */
.biblioteca-caminho__titulo { margin: var(--m-4) 0 var(--m-2); color: var(--m-texto-2); font-size: var(--m-fs-sm); font-weight: 600; }
.biblioteca-chips { display: flex; flex-wrap: wrap; gap: var(--m-2); margin: 0; padding: 0; list-style: none; }
.biblioteca-chips a, .biblioteca-chips span { display: inline-flex; align-items: center; min-height: var(--m-toque); padding: 0 var(--m-4); border: 1px solid var(--m-borda-forte); border-radius: var(--m-raio-p); color: var(--m-texto-2); font-size: var(--m-fs-sm); text-decoration: none; }
.biblioteca-chips a { color: var(--m-acao-texto); }

/* Os 10 que mais caem (porta) */
.biblioteca-top { margin: 0; padding-left: 1.4em; }
.biblioteca-top li { padding: var(--m-2) 0; }
.biblioteca-top a { color: var(--m-acao-texto); }
.biblioteca-top__dado { display: block; color: var(--m-texto-3); font-size: var(--m-fs-xs); }

/* Ações, professor e aviso */
.biblioteca-acoes { display: grid; gap: var(--m-3); margin: var(--m-6) 0 0; }
.biblioteca-acoes .m-botao { min-width: 0; white-space: normal; text-align: center; line-height: 1.3; } /* nome longo quebra a linha, não estica a tela */
.biblioteca-professor { margin-top: var(--m-10); }
.biblioteca-erro { margin: var(--m-6) 0 0; color: var(--m-texto-3); font-size: var(--m-fs-sm); }
.biblioteca-erro a { color: var(--m-acao-texto); }

@media (min-width: 744px) {
    .biblioteca-minuto { padding: var(--m-5) var(--m-6); }
    .biblioteca-minuto__numeros { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .biblioteca-porta .biblioteca-minuto__numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .biblioteca-acoes { grid-template-columns: 1fr 1fr; }
    .biblioteca-cartoes { grid-template-columns: 1fr; }
}
