:root { --azul: #12355b; --azul2: #1f5c99; --fundo: #f6f7f9; --texto: #1c2430; --suave: #5b6675; --borda: #d9dee5; --marca: #ffe58a; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--texto); background: var(--fundo); }
a { color: var(--azul2); }
.topo { background: var(--azul); color: #fff; padding: .8rem 1.2rem; display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; align-items: center; justify-content: space-between; }
.topo a { color: #fff; text-decoration: none; }
.marca { font-weight: 600; }
.selo { background: #fff; color: var(--azul); border-radius: 4px; padding: 0 .35rem; margin-right: .35rem; font-weight: 800; }
.topo nav a { margin-left: 1rem; opacity: .9; }
main { max-width: 900px; margin: 0 auto; padding: 1.2rem; }
.busca .linha { display: flex; gap: .5rem; }
.busca input[type=search] { flex: 1; font-size: 1.1rem; padding: .7rem .8rem; border: 1px solid var(--borda); border-radius: 6px; min-width: 0; }
.busca button { font-size: 1rem; padding: .7rem 1.2rem; border: 0; border-radius: 6px; background: var(--azul2); color: #fff; cursor: pointer; }
.filtros { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: .7rem; font-size: .9rem; color: var(--suave); }
.filtros select, .filtros input { font: inherit; padding: .25rem .35rem; border: 1px solid var(--borda); border-radius: 4px; background: #fff; }
.contagem { color: var(--suave); margin: 1.2rem 0 .4rem; }
.resultados { list-style: none; padding: 0; margin: 0; }
.resultados li { background: #fff; border: 1px solid var(--borda); border-radius: 8px; padding: .8rem 1rem; margin: .6rem 0; }
.cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; }
.cab a { font-weight: 600; }
.pag { color: var(--suave); font-size: .9rem; }
.trecho { margin: .4rem 0 0; font-size: .95rem; overflow-wrap: anywhere; }
mark { background: var(--marca); padding: 0 .1em; border-radius: 2px; }
.paginas { display: flex; gap: 1rem; justify-content: center; align-items: center; margin: 1.2rem 0; }
.aviso { background: #fff4e5; border: 1px solid #f0c27b; padding: .7rem 1rem; border-radius: 6px; }
.dicas { margin-top: 1.4rem; }
code { background: #eceff3; padding: 0 .3em; border-radius: 3px; }
.anos { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.anos a { padding: .2rem .6rem; border: 1px solid var(--borda); border-radius: 4px; background: #fff; text-decoration: none; }
.anos a[aria-current] { background: var(--azul2); color: #fff; }
table.edicoes { width: 100%; border-collapse: collapse; background: #fff; }
table.edicoes th, table.edicoes td { border-bottom: 1px solid var(--borda); padding: .4rem .6rem; text-align: left; }
footer { max-width: 900px; margin: 2rem auto; padding: 0 1.2rem; color: var(--suave); font-size: .85rem; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 560px) { .busca .linha { flex-direction: column; } .topo nav a { margin: 0 1rem 0 0; } }

.assuntos { margin: .2rem 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.assuntos span { font-size: .75rem; padding: .05rem .45rem; border-radius: 999px; background: #eef2f7; color: #334; }
