.p-tema-pagina{padding:40px 0 var(--p-respiro);overflow-x:clip}.p-tema-corpo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.p-tema-coluna{display:flex;flex-direction:column;gap:18px;min-width:0}.p-tema-pagina .p-migalha,.p-curso-pagina .p-migalha{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 18px;font-size:var(--t-meta);font-weight:700;color:var(--faint)}.p-tema-pagina .p-migalha a,.p-curso-pagina .p-migalha a{color:var(--accent-deep);text-decoration:none}.p-tema-pagina .p-migalha a:hover,.p-curso-pagina .p-migalha a:hover{color:var(--accent-deep);text-decoration:underline}.t-tema-cabeca{margin:0}.p-publico .t-tema-titulo{font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.22;margin:4px 0 0;color:var(--ink);overflow-wrap:anywhere}.t-tema-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 26px;font-size:.8rem;color:var(--muted)}.t-tema-leitura{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--faint)}.t-tema-leitura svg{flex:0 0 auto}.t-enunciado{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;overflow-x:auto;color:var(--ink);min-width:0}.p-tema-pagina .t-enunciado p{margin:0;font-size:.9rem;line-height:1.7;color:var(--ink)}.p-tema-pagina .t-enunciado p + p{margin-top:10px}.p-tema-pagina .t-enunciado strong,.p-tema-pagina .t-enunciado b{font-weight:800}.p-tema-pagina .t-enunciado a{color:var(--accent-deep)}.p-tema-pagina .t-enunciado ul,.p-tema-pagina .t-enunciado ol{margin:10px 0 10px 1.5em;padding:0}.p-tema-pagina .t-enunciado li{margin:.35em 0;list-style:disc;font-size:.9rem;line-height:1.7}.p-tema-pagina .t-enunciado ol li{list-style:decimal}.p-tema-pagina .t-enunciado blockquote{margin:14px 0;padding:2px 0 2px 16px;border-left:3px solid var(--accent-fill);color:var(--muted)}.p-tema-pagina .t-enunciado h3,.p-tema-pagina .t-enunciado h4{font-family:var(--font-body);font-size:var(--t-corpo);font-weight:800;line-height:var(--lh-titulo);letter-spacing:normal;margin:16px 0 6px;color:var(--ink)}.p-tema-pagina .t-enunciado>:first-child{margin-top:0}.t-comando{border-left:4px solid var(--accent-fill);background:var(--accent-soft);border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 16px;font-size:var(--t-corpo);line-height:var(--lh-corpo);font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}.p-tema-pagina .t-comando p{margin:0}.p-tema-pagina .t-comando p + p{margin-top:8px}.p-tema-pagina .t-comando strong,.p-tema-pagina .t-comando b{font-weight:800}.p-tema-pagina .t-comando a{color:var(--accent-deep)}.p-tema-pagina .t-comando ul,.p-tema-pagina .t-comando ol{margin:8px 0 8px 1.5em;padding:0}.p-tema-pagina .t-comando li{margin:.35em 0;list-style:disc;font-size:var(--t-corpo);line-height:var(--lh-corpo)}.p-tema-pagina .t-comando ol li{list-style:decimal}.p-tema-pagina .t-comando blockquote{margin:10px 0;padding:2px 0 2px 16px;border-left:3px solid var(--accent-deep);color:var(--ink)}.p-tema-pagina .t-comando h3,.p-tema-pagina .t-comando h4{font-family:var(--font-body);font-size:var(--t-corpo);font-weight:800;line-height:var(--lh-titulo);letter-spacing:normal;margin:12px 0 4px;color:var(--ink)}.p-tema-pagina .t-comando>:first-child{margin-top:0}.t-comentado{background:var(--card);border:1px solid #d6c8f2;border-radius:var(--r-lg);overflow:hidden;color:var(--ink);min-width:0;scroll-margin-top:88px}.t-comentado-cabeca{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 22px;background:linear-gradient(115deg,var(--lavender),#f6f1ff)}.t-comentado-icone{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-md);background:rgba(255,255,255,.8);color:#6741d9}.t-comentado-nomes{display:flex;flex-direction:column;min-width:0}.p-publico .t-comentado-titulo{font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:normal;line-height:1.55;margin:0;color:var(--ink-fixo)}.t-comentado-nomes span{font-size:.76rem;color:var(--muted)}.t-comentado-corpo{padding:20px 22px;max-width:68ch}.p-tema-pagina .t-comentado-corpo p{margin:0 0 1em;font-size:var(--t-corpo);line-height:var(--lh-corpo);color:var(--ink-2)}.p-tema-pagina .t-comentado-corpo p:last-child{margin-bottom:0}.p-tema-pagina .t-comentado-corpo strong,.p-tema-pagina .t-comentado-corpo b{font-weight:800;color:var(--ink)}.p-tema-pagina .t-comentado-corpo a{color:var(--accent-deep)}.p-tema-pagina .t-comentado-corpo ul,.p-tema-pagina .t-comentado-corpo ol{margin:0 0 1em 1.5em;padding:0}.p-tema-pagina .t-comentado-corpo li{margin:.35em 0;list-style:disc;font-size:var(--t-corpo);line-height:var(--lh-corpo);color:var(--ink-2)}.p-tema-pagina .t-comentado-corpo ol li{list-style:decimal}.p-tema-pagina .t-comentado-corpo blockquote{margin:1.2em 0;padding:2px 0 2px 16px;border-left:3px solid var(--accent-fill);color:var(--muted)}.p-tema-pagina .t-comentado-corpo h3,.p-tema-pagina .t-comentado-corpo h4{font-family:var(--font-body);font-size:var(--t-item);font-weight:800;line-height:var(--lh-titulo);letter-spacing:normal;margin:1.6em 0 .5em;color:var(--ink)}.p-tema-pagina .t-comentado-corpo>:first-child{margin-top:0}.t-trilho{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--ink)}.t-trilho-bloco{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.p-publico .t-trilho-rotulo{font-family:var(--font-body);font-size:var(--t-rotulo);font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:var(--lh-ui);margin:0 0 4px;color:var(--muted)}.t-acao{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;width:100%;min-height:44px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s ease,box-shadow .18s ease,transform .18s ease}.t-acao>svg:first-child{grid-column:1;grid-row:1 / span 2;color:var(--muted)}.t-acao-nome{grid-column:2;grid-row:1;font-size:var(--t-ui);font-weight:800;line-height:var(--lh-ui)}.t-acao-apoio{grid-column:2;grid-row:2;font-size:var(--t-meta);color:var(--muted);line-height:var(--lh-ui)}.t-acao>svg:last-child:not(:first-child){grid-column:3;grid-row:1 / span 2;color:var(--muted)}.t-acao:hover{border-color:var(--accent-fill)}.t-acao:focus-visible{outline:3px solid var(--accent-fill);outline-offset:2px}.t-acao--principal{grid-template-columns:1fr;justify-items:center;text-align:center;background:#c2410c;border-color:var(--accent-deep);color:#fff;min-height:48px}.t-acao--principal .t-acao-nome{grid-column:1;font-size:var(--t-item);color:#fff}.t-acao--principal .t-acao-apoio{grid-column:1;color:rgba(255,255,255,.92)}.t-acao--principal:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.t-acao.t-acao--principal:hover{border-color:var(--accent-deep)}.t-acao--travada{background:var(--paper)}.t-acao--travada .t-acao-nome{color:var(--muted)}.t-acao-ou{align-self:center;font-size:var(--t-meta);font-weight:700;color:var(--faint)}.t-relacionados{margin-top:40px}.p-publico .t-relacionados-titulo{font-family:var(--font-body);font-size:1.1rem;font-weight:800;letter-spacing:normal;line-height:1.25;margin:0 0 16px;color:var(--ink)}.t-relacionados-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:14px}.t-relacionados-grade>li{display:flex;min-width:0}.t-relacionado{display:flex;flex-direction:column;gap:8px;width:100%;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--pastel,var(--butter));border-radius:var(--r-lg);padding:16px 16px 14px;text-decoration:none;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}.t-relacionado:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.t-relacionado:focus-visible{outline:3px solid var(--accent-fill);outline-offset:2px}.t-relacionado-motivo{font-size:var(--t-rotulo);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.p-publico .t-relacionado-titulo{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-body);font-size:.95rem;font-weight:750;letter-spacing:normal;line-height:1.35;margin:0;color:var(--ink);overflow-wrap:anywhere}.t-relacionado-ler{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:6px;font-size:.8rem;font-weight:700;color:var(--accent-deep)}@media (max-width: 1024px){.p-tema-corpo{grid-template-columns:minmax(0,1fr);gap:26px}.t-trilho{position:static;margin:0 0 48px}}@media (prefers-reduced-motion: reduce){.t-acao,.t-relacionado{transition:none}.t-relacionado:hover,.t-acao--principal:hover{transform:none}}.p-tema-pagina .p-brinde{margin:0;font-size:var(--t-meta);color:var(--p-cinza-escuro)}.p-tema-pagina .p-brinde strong{color:var(--p-laranja-escuro)}.p-fundo-claro .p-faixa--claro .p-botao--contorno{border-color:var(--p-linha-clara);color:var(--p-tinta)}.p-fundo-claro .p-faixa--claro .p-botao--fantasma{background:rgba(31,29,27,.06);color:var(--p-tinta)}.p-tema-pagina .t-comentado-corpo{--cm-citar:#6d28d9;--cm-citar-fundo:#f7f4ff;--cm-nota:#1d4ed8;--cm-nota-fundo:#eff3ff;--cm-tese:#166534;--cm-tese-fundo:#eff7f2;--cm-aviso:#9f1239;--cm-aviso-fundo:#fff2f5;--cm-exemplo:#c2410c;--cm-exemplo-fundo:#fff5ee}html[data-tema-md="escuro"] .p-tema-pagina .t-comentado-corpo{--cm-citar:#c4b5fd;--cm-citar-fundo:#221b33;--cm-nota:#93c5fd;--cm-nota-fundo:#16213a;--cm-tese:#86efac;--cm-tese-fundo:#15291c;--cm-aviso:#fda4af;--cm-aviso-fundo:#311119;--cm-exemplo:#fb923c;--cm-exemplo-fundo:#3a2415}.p-tema-pagina .t-comentado-corpo:has(.t-cm-indice){display:grid;grid-template-columns:186px minmax(0,1fr);gap:34px;max-width:none}.p-tema-pagina .t-comentado-corpo:has(.t-cm-indice)>*:not(.t-cm-indice){grid-column:2}.p-tema-pagina .t-cm-indice{grid-column:1;grid-row:1 / 9999;position:sticky;top:90px;align-self:start;font-size:var(--t-meta)}.p-tema-pagina .t-cm-indice ol{margin:0;padding-left:18px}.p-tema-pagina .t-cm-indice li{margin:0 0 7px;list-style:decimal;color:var(--muted)}.p-tema-pagina .t-cm-indice a{color:var(--muted);text-decoration:none}.p-tema-pagina .t-cm-indice a:hover{color:var(--accent-deep);text-decoration:underline}@media (max-width: 900px){.p-tema-pagina .t-comentado-corpo:has(.t-cm-indice){display:block;max-width:68ch}.p-tema-pagina .t-cm-indice{position:static;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}}.p-tema-pagina .t-cm{margin:20px 0;padding:13px 16px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px}.p-tema-pagina .t-cm blockquote{margin:0;font-style:italic}.p-tema-pagina .t-cm blockquote p{color:var(--ink)}.p-tema-pagina .t-comentado-corpo .t-cm-rot{margin:0 0 7px;font-size:var(--t-rotulo);font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1.4}.p-tema-pagina .t-cm-rot::before{margin-right:7px;font-weight:400}.p-tema-pagina .t-cm--citar{border-left-color:var(--cm-citar)}.p-tema-pagina .t-cm--citar .t-cm-rot{color:var(--cm-citar)}.p-tema-pagina .t-cm--citar .t-cm-rot::before{content:"“"}.p-tema-pagina .t-cm--nota{border-left-color:var(--cm-nota);background:var(--cm-nota-fundo)}.p-tema-pagina .t-cm--nota .t-cm-rot{color:var(--cm-nota)}.p-tema-pagina .t-cm--nota .t-cm-rot::before{content:"●"}.p-tema-pagina .t-cm--tese{border-left-color:var(--cm-tese);background:var(--cm-tese-fundo)}.p-tema-pagina .t-cm--tese .t-cm-rot{color:var(--cm-tese)}.p-tema-pagina .t-cm--tese .t-cm-rot::before{content:"▶"}.p-tema-pagina .t-cm--aviso{border-left-color:var(--cm-aviso);background:var(--cm-aviso-fundo)}.p-tema-pagina .t-cm--aviso .t-cm-rot{color:var(--cm-aviso)}.p-tema-pagina .t-cm--aviso .t-cm-rot::before{content:"⚠"}.p-tema-pagina .t-cm--exemplo{border-left-color:var(--cm-exemplo);background:var(--cm-exemplo-fundo)}.p-tema-pagina .t-cm--exemplo .t-cm-rot{color:var(--cm-exemplo)}.p-tema-pagina .t-cm--exemplo .t-cm-rot::before{content:"✎"}.p-tema-pagina .t-comentado-corpo .t-cm-fonte{margin:8px 0 0;font-size:var(--t-meta);color:var(--faint)}.p-tema-pagina .t-cm-fonte cite{font-style:normal}.p-tema-pagina .t-comentado-corpo h3[id]{scroll-margin-top:84px}.p-tema-pagina .t-comentado{overflow:visible}.p-tema-pagina .t-comentado-cabeca{border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0}.p-tema-pagina .t-comentado-corpo:has(.t-cm-indice){column-gap:34px;row-gap:0}.p-tema-pagina .t-cm-indice{grid-row:1 / span 400}.p-tema-pagina .t-comentado-corpo h3[id]{scroll-margin-top:92px}.p-tema-pagina .t-cm-indice{max-height:calc(100vh - 110px);overflow-y:auto}.p-tema-pagina .t-comentado-corpo a{overflow-wrap:anywhere}.p-tema-pagina .t-enunciado a{overflow-wrap:anywhere}@media (max-width: 900px){.p-tema-pagina .t-cm-indice{position:sticky;top:60px;z-index:3;margin:-20px -22px 18px;padding:9px 22px;background:var(--card);border-bottom:1px solid var(--line);max-height:none;overflow:visible}.p-tema-pagina .t-cm-indice .t-cm-rot{display:none}.p-tema-pagina .t-cm-indice ol{display:flex;gap:7px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.p-tema-pagina .t-cm-indice ol::-webkit-scrollbar{display:none}.p-tema-pagina .t-cm-indice li{flex:0 0 auto;margin:0;list-style:none}.p-tema-pagina .t-cm-indice a{display:block;padding:5px 12px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;color:var(--muted);text-decoration:none}.p-tema-pagina .t-comentado-corpo h3[id]{scroll-margin-top:118px}}.p-tema-pagina .t-enunciado p,.p-tema-pagina .t-enunciado li,.p-tema-pagina .t-comentado-corpo p,.p-tema-pagina .t-comentado-corpo li{overflow-wrap:anywhere}.p-publico .p-heroi .p-brinde{color:var(--p-meta-clara)}.p-publico .p-heroi .p-botao--contorno{color:var(--p-tinta-clara);border-color:rgba(255,255,255,.28)}.p-publico .p-heroi .p-botao--contorno:hover{color:var(--p-ambar);border-color:var(--p-ambar)}
/* ============================================================
   O MIOLO DO TRILHO GRUDA, E NAO O TRILHO INTEIRO.  (25/10/2026)
   ============================================================
   Medido no site: o trilho tem 606px e `sticky` com `top` prega o TOPO do
   bloco, entao em tela de notebook o que nao couber fica permanentemente
   abaixo da dobra, e quem fica de fora e o ultimo botao de correcao: a pagina
   gruda a lateral e esconde o que ela vende.

   Agora o aside e so a coluna e quem gruda e o `<div class="t-trilho-grude">`
   que a API passou a emitir em volta das acoes. O que estiver ACIMA dele rola
   embora e as acoes ficam.

   `align-self: stretch` NAO E ENFEITE: `.p-tema-corpo` tem `align-items:
   start`, entao sem ele o aside fica com a altura do proprio conteudo e
   `sticky` so vale DENTRO do bloco que contem o elemento: o miolo grudava por
   uns 600px e era solto depois.

   `:has()` E A TRAVA DE ORDEM DE SUBIDA: esta folha viaja no plugin e o HTML
   vem da API, e nao ha como garantir qual sobe primeiro. Enquanto nao houver
   `.t-trilho-grude` dentro do aside, a regra nao casa e o grude antigo
   continua valendo. Sem ela, o plugin chegando antes da API deixaria a
   lateral ROLANDO EMBORA, que e pior que o defeito original.

   A fonte desta regra e o publico.css da API, ja na development. Este bloco e
   o delta ate o recorte ser regerado de la. */
.t-trilho:has(.t-trilho-grude){position:static;top:auto}
@media (min-width:1025px){
.p-tema-corpo .t-trilho:has(.t-trilho-grude){align-self:stretch}
.t-trilho-grude{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px;min-width:0;max-height:calc(100vh - 88px - 16px);overflow-y:auto;scrollbar-width:thin}
}
@media (max-width:1024px){
.t-trilho-grude{display:contents}
}

/* ============================================================
   OS BLOCOS DE DESTAQUE DO TEMA COMENTADO, NO ESCURO. (28/10/2026)
   ============================================================

   O MESMO PORTAO QUE JA MORDEU EM 24/10. O escuro destes cinco blocos estava
   so atras de `html[data-tema-md="escuro"]`, que o React escreve e o WordPress
   nao: a pagina publica de um tema fica escura pela CLASSE `md-escuro`, que o
   `embrulho()` pendura (ver class-md-shortcode.php, pagina_de_tema). Entao o
   fundo pastel continuava com o valor CLARO enquanto `--ink-2` ja era a tinta
   do escuro.

   MEDIDO NO AR, em /temas/o-uso-do-reconhecimento-facial..., 28/10/2026:

     bloco     fundo que saia   corpo do texto   citacao
     nota      #eff3ff          1,28:1           1,04:1
     tese      #eff7f2          1,30:1           1,06:1
     aviso     #fff2f5          1,30:1           1,06:1
     exemplo   #fff5ee          1,32:1           1,08:1
     citar     (sem fundo)      rotulo #6d28d9 sobre o cartao: 2,36:1

   Catorze paragrafos daquela pagina estavam abaixo de 1,4:1. O minimo de corpo
   e 4,5:1. O rotulo passava porque e a cor escura do bloco sobre o pastel; so
   o texto virava.

   DUAS CLASSES NAO BASTAVAM. A regra clara e `.p-tema-pagina
   .t-comentado-corpo`, 0-2-0. Pendurar `.md-escuro` na frente da mesma cadeia
   da 0-3-0, que vence sem depender de ordem de arquivo. O mesmo remedio de
   `.md-escuro.md-escuro{--p-cinza-escuro}` em md-acervo-tokens.css, pelo mesmo
   motivo.

   OS VALORES SAO OS DO BLOCO QUE JA EXISTIA, copiados sem inventar cor nova.
   Depois disto, medido na mesma pagina: corpo entre 10,26:1 e 12,09:1, rotulo
   entre 6,43:1 e 10,95:1, e o rotulo do `citar` em 9,10:1.

   O SELETOR DO ATRIBUTO FICA ONDE ESTA. A plataforma escreve `data-tema-md`, e
   esta folha e recorte da dela; tirar o portao antigo quebraria o escuro la. */
.md-escuro .p-tema-pagina .t-comentado-corpo{--cm-citar:#c4b5fd;--cm-citar-fundo:#221b33;--cm-nota:#93c5fd;--cm-nota-fundo:#16213a;--cm-tese:#86efac;--cm-tese-fundo:#15291c;--cm-aviso:#fda4af;--cm-aviso-fundo:#311119;--cm-exemplo:#fb923c;--cm-exemplo-fundo:#3a2415}

/* ============================================================
   A LINHA DE BAIXO DO CABECALHO DO TEMA COMENTADO. (28/10/2026)
   ============================================================

   MESMA FAMILIA DO BLOCO ACIMA, UM ANDAR MAIS ALTO. O cabecalho pinta
   `linear-gradient(115deg,var(--lavender),#f6f1ff)`, que e LITERAL: nao vira
   com o tema. O titulo ao lado ja sabia disso e usa `var(--ink-fixo)`. A linha
   de baixo ficou com `var(--muted)`, que vira.

   MEDIDO NO AR, em /temas/o-uso-do-reconhecimento-facial..., 28/10/2026,
   forcando cada tema em vez de ler a pagina como ela chega (a medicao anterior
   se enganou nisso: a pagina ja chegava escura, e eu li o escuro duas vezes):

     tema      --muted    sobre #ebe3ff / #f6f1ff
     claro     #5e606d    5,03:1   passa
     escuro    #a8a29a    2,04:1   REPROVA, e o minimo de corpo e 4,5:1

   `--muted-fixo` JA EXISTE em md-acervo-tokens.css e vale #5e606d nos DOIS
   temas: o bloco do escuro redefine `--muted` e NAO redefine `--muted-fixo`,
   que e exatamente para isto. Entao nao ha cor nova aqui, so a tinta certa.

   SEM PORTAO DE TEMA, de proposito. Como `--muted-fixo` e a mesma nos dois, a
   regra solta deixa o claro onde ja estava (5,03:1) e conserta o escuro. Um
   portao a menos e um portao a menos para errar, e e o que o `--ink-fixo` do
   titulo irmao ja faz.

   DUAS CLASSES PORQUE A REGRA DE BAIXO TEM UMA. A original e
   `.t-comentado-nomes span`, 0-1-1; pendurar `.t-comentado-cabeca` na frente
   da 0-2-1, que vence sem depender de ordem de arquivo. E e o recorte certo:
   o gradiente literal e declarado nesse mesmo elemento, entao todo texto
   dentro dele esta sobre fundo claro, haja tema que houver.

   Depois disto, medido na mesma pagina: 5,03:1 no claro E no escuro. */
.t-comentado-cabeca .t-comentado-nomes span{color:var(--muted-fixo)}
