Escopo: as ~40 páginas index.md de módulo/especialização/guia (não os capítulos individuais, que já passaram por trabalho de navegação nas sessões anteriores). Foco nas 3 telas pedidas: computador, tablet, celular.
Antes de propor mudanças, auditei assets/css/style.scss (1036 linhas) e o breakpoint do tema para não propor retrabalho. Resultado: a base já é sólida, melhor do que uma primeira impressão sugeriria.
| Elemento | Estado atual | Evidência |
|---|---|---|
Tabelas Markdown (ex.: “Matriz Curricular”, 30 dos 40 index.md têm uma) |
✅ Já responsivas globalmente | table { display: block; width: 100%; overflow-x: auto; } — scroll horizontal automático, sem precisar de wrapper por página |
Grid de cards (.cards-grid, usado no index.md raiz e em vários módulos) |
✅ Já responsivo | grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) — colunas se ajustam sozinhas, 1 coluna em telas estreitas |
| Diagramas Mermaid | ✅ Já responsivos | .mermaid { overflow-x: auto; svg { max-width: 100%; height: auto; } } |
| Breakpoints do tema disponíveis | ✅ Definidos (Minimal Mistakes 4.28.1) | $small: 600px, $medium: 768px, $large: 1024px, $x-large: 1280px |
| Sidebar mobile / TOC / cabeçalho | ✅ Já trabalhado em sessões anteriores | Ver [[project_mm_theme_migration_fixes_2026-09-01]] — auto-colapso por URL, TOC não empilha mais full-width, cabeçalho mobile unificado |
Conclusão intermediária: os 3 elementos que eu esperava que fossem o maior risco (tabela larga, grid de cards, diagrama grande) já não quebram o layout em telas estreitas. O trabalho pendente é mais cirúrgico do que uma reforma geral.
O CSS custom tem apenas 2 media queries, ambas herdadas da migração do tema Cayman e cosméticas, não estruturais:
@media (max-width: 600px) { /* posição do toggle de dark mode, botão back-to-top */ }
@media (max-width: 768px) { /* opacidade do botão de copiar código */ }
Ou seja: celular (<600px) recebeu atenção real em várias sessões (toggle de sidebar, cabeçalho, TOC). Desktop (>1024px) é o alvo de design padrão do tema. Mas a faixa de tablet (600–1024px) — onde a sidebar da Minimal Mistakes muda de comportamento (deixa de ser fixa, mas a tela ainda é larga o bastante pra não ativar as adaptações pensadas pra celular) — nunca foi testada ou ajustada deliberadamente.
Tentei confirmar isso ao vivo redimensionando a janela do Chrome pra 3 tamanhos (1440×900 desktop, 820×1180 tablet, 390×844 celular) e comparando capturas de tela. A ferramenta de resize não alterou o viewport efetivo da página nesta sessão (as 3 capturas saíram idênticas), então não tenho confirmação visual real dos 3 tamanhos — a análise acima é baseada em auditoria do código-fonte CSS, não em teste visual ao vivo. Antes de implementar qualquer item deste plano, o próximo passo deveria ser abrir o DevTools do navegador (F12 → Toggle Device Toolbar) manualmente e testar de verdade, já que a ferramenta automatizada não serviu para isso desta vez.
| # | Item | O que verificar/fazer | Esforço |
|---|---|---|---|
| 1 | Comportamento da sidebar/TOC exatamente entre 768–1024px | O tema Minimal Mistakes muda o comportamento da sidebar em breakpoints próprios ($large: 1024px); confirmar se em tablet a coluna de conteúdo fica confortável (nem espremida, nem com TOC flutuando estranho) |
Baixo (é teste, não código) |
| 2 | Tamanho de fonte/espaçamento do cabeçalho (.page-header, hero da home) em tablet |
padding: 2.5rem 1.5rem fixo — em tablet retrato pode ficar desproporcional comparado ao título grande (2rem) |
Baixo |
| 3 | Tabelas muito largas (ex.: db_* na matriz de Bancos de Dados, 5 colunas) em tablet |
O scroll horizontal já funciona, mas confirmar se o “affordance” (indicação visual de que dá pra rolar) é claro o suficiente num tablet touch | Baixo-Médio |
| 4 | Botões de filtro (.filter-btn, usados em projetos_status.md) em telas estreitas |
Múltiplos botões lado a lado podem quebrar mal em tablet retrato — confirmar flex-wrap está ativo e o espaçamento não fica apertado |
Baixo |
| 5 | Interações que dependem de :hover (botão copiar código, cards) em touch (tablet/celular) |
.copy-code-btn só aparece com opacidade completa no hover — em touch não existe hover real; já existe opacity: 0.8 fixo em @media (max-width: 768px) pro copy-code-btn, mas os .course-cards (&:hover { transform: translateY(-2px) }) não têm fallback touch — confirmar se ainda funcionam ao toque (geralmente sim via :active, mas vale testar) |
Baixo |
index.md raiz (hero + cards), um mod_*/index.md com tabela “Matriz Curricular” (ex.: mod_02), e proj_aplicacoes_full_stack/projetos_status.md (tabela mais complexa + filtros).$medium (768px) do próprio tema em vez de inventar breakpoints novos — para ficar consistente com o resto do CSS do tema.Tentei de novo o teste automatizado de viewport (resize_window + leitura de window.innerWidth via JS) numa sessão seguinte — mesma limitação: o innerWidth não muda, permanece no tamanho real da janela (1920px) independente do tamanho pedido. Não há, nesta ferramenta de automação de navegador, um mecanismo de emulação de dispositivo em nível de CDP (Emulation.setDeviceMetricsOverride) equivalente ao DevTools real — só JS de página, que não consegue sobrescrever innerWidth.
Na ausência de confirmação visual, fiz uma auditoria de código mais profunda dos 5 itens da Seção 3 antes de tocar em qualquer CSS:
.page-header do assets/css/style.scss (com o padding: 3rem 1.5rem citado) é usada exclusivamente por _layouts/slide.html (chrome residual do tema Cayman, fora do escopo deste plano). A home e os index.md de módulo usam layout: default puro do Minimal Mistakes — só um <h1> estilizado pela tipografia própria do tema, já madura e responsiva, fora do alcance seguro do nosso CSS customizado.overflow-x: auto); item de polimento, não bug confirmado..filter-btn em telas estreitas): o container já tem flex-wrap: wrap inline em projetos_status.md — nada quebrado.:hover em touch): navegadores já simulam hover-no-toque de forma aceitável — sem bug confirmado.Decisão do usuário: encerrar o plano sem alterações de código. Nenhum dos 5 itens tinha um bug confirmado e seguro de corrigir dentro do CSS próprio, e a limitação de emulação de viewport impede confirmação visual real nesta ferramenta. Se um problema real de tablet aparecer no futuro, o caminho é reportar o sintoma específico visto num dispositivo/DevTools real, não reabrir esta auditoria especulativa.
| ⬅️ Voltar ao Índice de Documentação | 🗺️ Ver Roadmap Geral |