/* ==========================================================================
   uc-capa — o HEROI da capa (Fase 2b, tarefa J, 06/09/2026)
   ==========================================================================

   ==========================================================================
   1. O QUE A MEDICAO DISSE, E ONDE ELA CONTRARIOU O BRIEFING
   ==========================================================================
   Medido em 06/09/2026 no HTML renderizado da capa em producao, ANONIMO, por
   token de atributo `class` e com arvore de DOM de verdade (nao substring).
   Os seis prefixos que o briefing atribuiu a esta tarefa:

     uc-capa2   7   uc-peek  9   uc-mais  8
     uc-faixa   5   uc-portas 1  uc-selo  1        = 31 tokens

   Os numeros batem. A ATRIBUICAO nao bate em tres pontos, e cada um muda o
   que esta tarefa entrega:

   (a) ⛔ `uc-peek` NAO E' um "peek" de chips. E' A QUESTAO DE VITRINE — uma
       questao real do acervo, com as cinco alternativas e o gabarito marcado,
       dentro do heroi. Arvore medida:

         a.uc-peek.uc-peek--porta[href][aria-label]
           div.uc-peek__h   > span.uc-r__tags > span   +  span.uc-lbl "exemplo"
           div.uc-peek__b   > p (enunciado)  +  div.uc-peek__a x5

       Sao 9 TOKENS em 8 ELEMENTOS (`uc-peek` e `uc-peek--porta` estao no
       mesmo <a>). Quem le "peek 9" e imagina parede de chips desenha a peca
       errada — e o `span.uc-r__tags` de dentro dele e' justamente o 42o
       emprestimo que a tarefa I mediu ("o 42o esta em div.uc-peek__h").

   (b) `uc-mais` NAO E' da capa. Quem o emite e' `inc/taxonomia.php:1496,1504`
       (os hubs) e `inc/filtro.php:200,544,618` (o filtro do banco) — cinco
       usos, dois componentes, zero em `front-page.php`. As 8 renderizacoes
       medidas na capa vem dos hubs, que a capa apenas HOSPEDA. E ele ja tem
       dono desde a tarefa C: `<details class="uc-chips__mais">` com
       `<summary class="uc-chip uc-chip--mais">`.

   (c) `uc-portas` NAO E' componente. E' UM MODIFICADOR numa secao:
       `section.uc-sec2.uc-portas#portas`, uma unica ocorrencia, e a unica
       regra que existe para ele e' `.uc-portas .uc-card2__pe{border-top:0}`
       (bancada.css:859) — literalmente o seletor que motivou a Regra 16.
       As "tres portas" sao `uc-secao` (F) com `uc-cartoes`/`uc-cartao` (E)
       sem rodape: `uc_mostruario_cartao()` ja desenha titulo + descricao sem
       `n`, que e' exatamente a anatomia das tres.

   ==========================================================================
   2. O QUE SAI, E PARA QUEM — 13 nomes viram 8
   ==========================================================================
     uc-mais + uc-mais__b     ->  uc-chips__mais / uc-chip--mais   (tarefa C)
     uc-faixa __in __d        ->  uc-contadores / uc-contador      (tarefa H)
                                  e o motivo dela ja esta escrito la:
                                  contador.css:196 cita bancada.css:748 pelo
                                  nome ao decidir a quebra da faixa.
     uc-portas                ->  uc-secao (F) + uc-cartoes (E)
     uc-capa2__ferramenta     ->  uc-montador                      (tarefa H)
     uc-capa2__saldo          ->  uc-contador--destaque            (tarefa H)
     uc-selo                  ->  NAO VEM — secao 4
     uc-peek__h > uc-r__tags  ->  uc-rotulo                        (D)
     uc-peek--porta           ->  deixa de ser variante: a porta e' UM
                                  elemento proprio, `__porta` (secao 5)

   FICA: `.uc-capa` e sete sufixos — `__promessa`, `__apoio`, `__exemplo`,
   `__enunciado`, `__alternativas`, `__alternativa`, `__porta`.

   ==========================================================================
   3. ⛔ O HEROI E' DESENHADO COM O ANUNCIO NO LUGAR, E O NUMERO E' ESTE
   ==========================================================================
   Medido em 06/09/2026, em producao, anonimo, com `getBoundingClientRect`:

     visor 390x844   div.uc-ad-topo  top 91,6  altura 443,4  (uc-ad--servido)
                     411 dos 844 px do PRIMEIRO ECRA sao anuncio  = 48,7%
                     o <h1> comeca em y=606,7 — 72% da primeira tela abaixo
     visor 1400x900  div.uc-ad-topo  top 56    altura 312
                     280 px de primeiro ecra sao anuncio
                     o <h1> comeca em y=439,8

   A spec diz "o visitante novo tem 78 segundos de paciencia e gasta os
   primeiros vendo meia tela de cinza". "Meia tela" nao era figura de
   linguagem: sao 48,7%, medidos.

   ⚠️ CORRIGI UM NUMERO MEU AQUI, e a correcao muda a conclusao para melhor.
   A primeira versao deste cabecalho dizia "restam ~237px de primeiro ecra",
   porque eu subtrai a partir do y do <h1> DE HOJE (606,7). Errado: 606,7 e' o
   topo do h1 DEPOIS do selo verde, e o selo nao vem (secao 4). O que sobra de
   verdade e' o que ha depois do ANUNCIO:

     fim do bloco de anuncio  91,6 + 443,4 = 535,0
     visor                                   844
     ORCAMENTO REAL DO PRIMEIRO ECRA         309,0 px

   E o bloco da promessa desta peca, medido no navegador a 390px:

     <h1> 3 linhas a 29,83px ......... 102,9
     apoio 3 linhas .................. 78,2
     botao ........................... 44,0
     vaos (12 + 32) .................. 44,0
     TOTAL .......................... 269,1 px   -> cabe, com 39,9 de folga

   Ou seja: **tirar o selo e' o que faz a ACAO caber acima da dobra num
   celular de 390x844.** Os ~72px que ele ocupava (535,0 -> 606,7) sao
   exatamente a diferenca.

   O QUE ISSO DECIDE, e nao e' gosto:
     - a ordem do heroi e PROMESSA -> APOIO -> ACAO, e a questao de vitrine
       vem DEPOIS, como recompensa da primeira rolagem. Um heroi que pusesse
       a vitrine antes do botao gastaria os 309px provando, e a acao so'
       existiria para quem rolasse duas vezes;
     - ⚠️ o limite honesto: a 320x720 o bloco mede 323,1px (o h1 vai a 4
       linhas) contra ~185px de sobra, e ai o botao FICA abaixo da dobra.
       Nao ha desenho que caiba 323 em 185; o que existe e' escolher o que
       fica visivel, e o que fica e' a promessa;
     - e o anuncio NAO SE MOVE E NAO SE REMOVE (decisao em aberto do dono).
       O mostruario desenha o heroi com o bloco servido E com o bloco em
       reserva, porque "funciona quando o anuncio nao preenche" nao e'
       requisito — e' sorte.

   ==========================================================================
   4. ⛔ O SELO NAO VEM, E SAO TRES MOTIVOS MEDIDOS
   ==========================================================================
   `<p class="uc-selo"><i></i>Gabarito oficial da banca · sem cadastro</p>`

   (a) Ele gasta a PRIMEIRA LINHA — o pixel mais caro do site, pelo item 3.
       Medido: 71,7px entre o fim do anuncio (535,0) e o topo do <h1> de hoje
       (606,7), num ecra em que sobram 309. E' um quarto do orcamento gasto
       num antetitulo decorativo, e e' o que faz a ACAO caber ou nao caber
       acima da dobra.
   (b) `·` como separador esta na lista de tiques de texto de maquina da
       propria spec (secao 8: "nada de `·` como separador").
   (c) Ele pinta texto de 12,16px com `--uc-certo` sobre `--uc-certo-soft`.
       Medido no navegador: `rgb(13,117,73)` sobre `rgba(15,123,79,.1)`,
       razao ~5,08:1 — ele PASSA no contraste, e nao e' esse o problema. O
       problema e' de vocabulario: a tarefa I fixou que neste sistema
       `--uc-certo` carrega FIO e ICONE, nunca texto pequeno, e a spec fixou
       que cor semantica nao e' segundo acento. Um selo de marketing verde
       gasta o verde de "voce acertou".

   Os dois fatos dele ("gabarito oficial da banca", "sem cadastro") nao se
   perdem: eles sao a SUBSTANCIA do `__apoio`, e aparecem UMA vez.

   ==========================================================================
   5. ⛔ A VITRINE MARCA O GABARITO SEM UMA PALAVRA — medido, nao lido
   ==========================================================================
   Lido no DOM, nao no CSS: o `<div class="uc-peek__a is-ok">` tem
   EXATAMENTE dois filhos, `<em>A</em>` e `<span>25,6 m².</span>`. Nao ha
   palavra, nao ha icone. Os canais sao dois:

     COR    fundo `rgba(15,123,79,.1)`, borda `rgba(15,123,79,.24)`
     FORMA  o quadrado da letra PREENCHIDO contra os outros quatro vazados

   O craft cobra tres, e o que falta e' o mais barato: a PALAVRA. Aqui a
   alternativa certa carrega `<span class="uc-rotulo">gabarito</span>` —
   e "gabarito" (e nao "resposta certa", que e' a palavra do resolvedor) e'
   deliberado: na capa ninguem respondeu nada. E' o gabarito oficial da
   banca, que e' o vocabulario do proprio site.

   O quadrado da letra continua sendo o canal de FORMA: preenchido contra
   vazado sobrevive ao cinza e a impressao. `--uc-acao-ink` e' o unico token
   de "texto sobre superficie preenchida" que este sistema tem, e e' o mesmo
   papel que ele cumpre dentro do `uc-botao--forte`. Contraste calculado:
   #FFFFFF sobre `--uc-certo` (#0D7549) = 5,79:1.

   ⚠️ E DUAS COISAS QUE EU NAO CONSIGO CONSERTAR AQUI, medidas e reportadas:
     - `href="https://universoconcursos.com/questoes/"` — a porta mostra UMA
       questao especifica e leva para o banco inteiro. Quem e' dono do
       destino e' o template da capa (Fase 4); aqui o destino e' parametro.
     - `aria-label="Exemplo de questao com o gabarito. Comecar a resolver."`
       — o nome acessivel do link esta escrito SEM ACENTO enquanto o texto
       visivel esta correto. Nao ha `aria-label` nesta peca: o nome do link
       e' o texto dele.

   ==========================================================================
   6. UM PONTO DE ENTRADA DOMINANTE — o pedido do dono, traduzido
   ==========================================================================
   "A home tem que ser top de linha, nao pode ser apenas um empilhado de
   cards e um hero estranho."

   O heroi de hoje tem DOIS primarios lado a lado: a promessa a esquerda e a
   ferramenta de montar bloco a direita, os dois em 380px+ de peso visual.
   `craft/typography-hierarchy.md` chama isso de "enfase simetrica" e manda
   escolher um. Aqui a coluna da esquerda vence por TRES vetores ao mesmo
   tempo — escala (`--uc-s-3` contra `--uc-s--1`), peso, e o unico uso de
   `--uc-acao` da peca — e a vitrine e' PROVA, nao co-primario.

   A ferramenta de montar bloco (`uc-montador`, tarefa H) nao entra no heroi:
   pedir "escolha banca, materia e nivel" nos primeiros 78 segundos e' fazer
   uma pergunta antes de fazer uma promessa. Onde ela vai e' composicao de
   tela, e isso e' Fase 4.

   ⚠️ ORCAMENTO DE ACENTO. Esta peca gasta UM uso visivel de `--uc-acao`: o
   botao. A porta da vitrine NAO e' acento — ela usa o vocabulario de link
   nao-cromatico que o `uc-contador[href]` fixou (sublinhado hairline +
   cursor, cor so' no hover). Isso deixa o segundo uso da tela livre para
   quem montar a capa.
   ========================================================================== */


/* --------------------------------------------------------------------------
   UMA CONSTANTE FORA DA GRADE, COM O MOTIVO ESCRITO
   --------------------------------------------------------------------------
   A guarda acusou este valor quando ele estava solto na regra (R11, "caixa
   fora da grade de 4px em width -> 20px"), e ela estava certa: 20px nao esta
   na escala de espaco deste sistema (0 4 8 12 16 24 32 48 64 96). Ele nao e'
   espaco — e' a caixa do quadrado da letra, e ela tem de casar com a PRIMEIRA
   LINHA do texto da alternativa, que mede `--uc-s--1` x `--uc-lh-normal` ~=
   20,8px. Os dois degraus vizinhos da escala nao servem:

     16px  o glifo de ~13px dentro de 1,5px de borda encosta nas paredes;
     24px  3,2px mais alto que a linha, e o quadrado passa a boiar acima do
           texto — que e' exatamente o desalinhamento que o tema antigo
           corrigia com `margin-top:.05rem` escolhido a mao.

   Nomeado aqui em vez de escondido numa regra: e' o mesmo padrao do
   `--uc-anuncio-reserva` (tarefa H) e do `--uc-resolvedor-avanco` (I), e o
   mesmo motivo pelo qual `--uc-alvo-toque:44px` e `--uc-chrome-altura:56px`
   moram no `00-tokens.css`. */
:root{
  --uc-capa-letra:20px;
}


/* --------------------------------------------------------------------------
   A SUPERFICIE
   --------------------------------------------------------------------------
   Duas colunas em PROPORCAO e nao em pixel — a mesma decisao do `uc-montador`
   e do `uc-resolvedor`. 3:2 e nao 2:1: a coluna da direita hospeda cinco
   alternativas de texto, e no exemplar de borda (alternativa de 200
   caracteres) uma coluna de 350px quebra em seis linhas. O tema antigo
   resolvia com `380px` fixo, que e' o mesmo numero escrito a mao em quatro
   lugares diferentes deste site.

   `align-items:start`: a coluna da promessa e a da vitrine NUNCA tem a mesma
   altura, e iguala-las e' a simetria vazia que o craft nomeia como assinatura
   de tela gerada sem autoria. */
.uc-capa{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  gap:var(--sp-6);
  align-items:start;
  min-width:0;
}


/* --------------------------------------------------------------------------
   A PROMESSA — coluna 1
   --------------------------------------------------------------------------
   Sem `gap` uniforme de proposito. O craft pede 8–12px DENTRO de um grupo e
   24–48px ENTRE grupos, e aqui ha dois grupos: (promessa + apoio) e (acao).
   Um `gap` unico igualaria as duas fronteiras e destruiria a informacao que
   o espaco carrega — e' o anti-padrao literal do `typography-hierarchy.md`
   ("uniform spacing between all elements destroys spatial hierarchy"). */
.uc-capa__promessa{
  display:grid;
  min-width:0;
}

/* O <h1> nao ganha classe: a `01-base.css` ja lhe da `--uc-s-3`, que e' o
   degrau de display desta escala. O que se acrescenta e' o que a base nao
   pode decidir por todo <h1> do site: entreletra negativa (regra do craft
   para display >=32px) e a altura de linha apertada.
   O compound da direita e' `h1`, sem prefixo — a Regra 16 nao julga alvo sem
   prefixo `uc-`, e e' a mesma forma que o `.uc-marca__nome b` usa. */
.uc-capa__promessa h1{
  margin:0 0 var(--sp-3);
  letter-spacing:var(--uc-tr-display);
  line-height:var(--uc-lh-apertado);
}

/* 12px acima (mesmo grupo: o apoio termina a frase que o titulo comeca) e
   32px abaixo (grupo diferente: dali em diante e' acao). */
.uc-capa__apoio{
  max-width:var(--uc-medida);
  margin:0 0 var(--sp-6);
  min-width:0;
  color:var(--uc-ink-2);
  font-size:var(--uc-s-0);
  line-height:var(--uc-lh-normal);
}


/* --------------------------------------------------------------------------
   A VITRINE — coluna 2
   --------------------------------------------------------------------------
   Esta E' uma caixa, e a excecao esta justificada. A tarefa H tirou quatro
   molduras do montador e a I tirou cinco do resolvedor, pelo mesmo motivo:
   moldura em volta da propria pagina e' moldura em volta de nada. Aqui e' o
   contrario: o objeto INTEIRO e' clicavel, e borda + raio sao a afordancia de
   "isto se clica" — a mesma que o `uc-cartao` e o `uc-chip` ja gastam.

   ⛔ E O FUNDO ERA `--uc-paper-2`, POR ANALOGIA ERRADA — CORRIGIDO MEDINDO.
   A primeira versao copiou o `--uc-paper-2` que a tarefa I deu ao texto de
   apoio da banca ("conteudo citado, outra voz"). Medido no navegador, com o
   fundo composto de verdade (alfa sobre alfa, ancestral por ancestral):

     `--uc-ink-3` (a palavra "gabarito") sobre --uc-certo-soft
     composto sobre --uc-paper-2  ->  rgb(217,229,228)  ->  4,14:1   ✗

   Abaixo do piso de 4,5:1 para texto de 13px. E a analogia estava errada por
   um motivo estrutural, nao so' pelo numero: neste sistema `--uc-paper-2` sem
   borda e' CONTEUDO CITADO (uc-resolvedor__apoio) e `--uc-field` com borda e'
   OBJETO CLICAVEL (uc-cartao, uc-chip). Este cartao e' clicavel. Com
   `--uc-field` o mesmo par mede 4,69:1 e a peca passa a se parecer com os
   outros dois objetos clicaveis do sistema, que e' o que ela e'.
   O raio acompanha: `--uc-r-3`, o mesmo do `uc-cartao`.
   SEM BARRA COLORIDA A ESQUERDA — esta na lista de tells do craft.

   `position:relative` ancora o `::after` da porta (fim deste arquivo).
   `gap:var(--sp-3)` uniforme aqui e' correto e nao contradiz a decisao da
   coluna 1: a vitrine e' UM grupo so' — uma questao — e quem agrupa e' a
   moldura, nao o vao. */
.uc-capa__exemplo{
  position:relative;
  display:grid;
  gap:var(--sp-3);
  min-width:0;
  padding:var(--sp-4);
  border:var(--uc-borda) solid var(--uc-rule);
  border-radius:var(--uc-r-3);
  background:var(--uc-field);
}

/* `overflow-wrap:anywhere` e nao `break-word`: enunciado real traz formula,
   codigo de lei e URL sem espaco, e `break-word` quebra a linha mas NAO
   reduz o min-content do item de grade, entao a coluna estoura. Mesmo
   defeito e mesmo conserto que o chip, o botao e o montador ja pagaram. */
.uc-capa__enunciado{
  margin:0;
  min-width:0;
  color:var(--uc-ink);
  font-size:var(--uc-s--1);
  line-height:var(--uc-lh-normal);
  overflow-wrap:anywhere;
}

/* <ul> e nao uma pilha de <div>: o leitor de tela anuncia "lista de cinco
   itens" antes do primeiro, que e' a informacao que faz as alternativas
   serem lidas como conjunto. 8px entre elas — o mesmo numero que o
   `uc-resolvedor` usa, e pelo mesmo motivo: sao a lista, sao o mesmo grupo. */
.uc-capa__alternativas{
  display:grid;
  gap:var(--sp-2);
  margin:0;
  padding:0;
  min-width:0;
  list-style:none;
}

/* Tres trilhas: letra, texto, palavra do gabarito. A terceira existe vazia
   nas quatro alternativas que nao sao o gabarito, e e' isso que mantem a
   palavra alinhada a direita SEM que este arquivo escreva uma linha mirando
   `.uc-rotulo` — que seria acoplamento e a Regra 16 acusaria.
   `align-items:start`: o quadrado da letra encosta no topo da PRIMEIRA linha
   do texto, e continua encostado quando o texto tem quatro. */
.uc-capa__alternativa{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:var(--sp-2);
  align-items:start;
  min-width:0;
  padding:var(--sp-2);
  border:var(--uc-borda) solid transparent;
  border-radius:var(--uc-r-1);
  color:var(--uc-ink-2);
  font-size:var(--uc-s--1);
  line-height:var(--uc-lh-normal);
  overflow-wrap:anywhere;
}

/* A ALTERNATIVA COMO CONTROLE -- so' quando a capa deixa responder.
   ⛔ ELA TEM DE PARECER CLICAVEL, E ESSE E' O PONTO. Enquanto era `<li>`, a
   linha era uma LISTA: nao havia fio, nem mao, nem estado de foco proprio, e
   quem tocasse nela nao recebia nada. Virando `<button>`, o affordance tem de
   vir junto -- controle que nao se anuncia e' pior que controle nenhum.
   O par hover (`--uc-rule-forte` + `--uc-paper-2`) e' o MESMO do cartao: um
   objeto que reage ao mouse ja tem vocabulario neste tema, e inventar outro
   aqui criaria duas gramaticas para a mesma coisa.
   `--uc-borda` no repouso substitui o `transparent` do modo vitrine: sem fio
   as quatro linhas flutuam e nada diz onde termina o alvo.
   O anel de foco vem da regra global de `01-base.css` -- nao se redeclara. */
.uc-capa__alternativa--acao{
  width:100%;
  background:var(--uc-field);
  border-color:var(--uc-rule);
  text-align:start;
  cursor:pointer;
  transition:border-color var(--uc-dur-2) var(--uc-ease),
             background-color var(--uc-dur-2) var(--uc-ease);
}

.uc-capa__alternativa--acao:hover{
  border-color:var(--uc-rule-forte);
  background:var(--uc-paper-2);
}

/* O quadrado da letra. `--uc-capa-letra` (20px) e nao os 19px do tema antigo.
   A altura casa com a primeira linha do texto (--uc-s--1 x --uc-lh-normal ~= 20,8px), entao o
   alinhamento sai do ritmo e nao de um `margin-top:.05rem` escolhido a mao. */
.uc-capa__alternativa em{
  display:grid;
  place-items:center;
  width:var(--uc-capa-letra);
  height:var(--uc-capa-letra);
  border:var(--uc-borda) solid var(--uc-rule-forte);
  border-radius:var(--uc-r-1);
  font-family:var(--uc-mono);
  font-size:var(--uc-s--1);
  font-style:normal;
  font-weight:var(--uc-w-realce);
  line-height:var(--uc-lh-controle);
}

/* O GABARITO — tres canais, e a cor e' o terceiro.
   `[data-uc-gabarito]` e nao uma classe `is-*`: este tema nao usa classe
   para estado em lugar nenhum (medido: zero `.is-` nos 20 componentes), e um
   atributo de dado e' o que o template escreve quando SABE qual e' a
   resposta. */
.uc-capa__alternativa[data-uc-gabarito]{
  border-color:var(--uc-certo);
  background:var(--uc-certo-soft);
  color:var(--uc-ink);
}

/* FORMA: preenchido contra vazado. E' o canal que sobrevive ao cinza, a
   impressao e ao daltonismo — a mesma ideia do redondo-contra-quadrado que
   a tarefa I usou no mapa da sessao. */
.uc-capa__alternativa[data-uc-gabarito] em{
  border-color:var(--uc-certo);
  background:var(--uc-certo);
  color:var(--uc-acao-ink);
}


/* --------------------------------------------------------------------------
   A PORTA
   --------------------------------------------------------------------------
   O tema antigo transformou a vitrine inteira num <a> em 01/09/2026, com o
   motivo escrito ("quem toca numa questao quer resolver questao"), e isso
   fica. O que muda e' COMO: la o <a> envolvia tudo e trazia um `aria-label`,
   ou seja, o nome do link era uma frase e o conteudo nao participava dele.
   Aqui o link e' um elemento proprio, com texto proprio, e um `::after` que
   cobre o cartao — o padrao que a tarefa E ja usou no `uc-cartao`.

   O CUSTO, escrito para nao virar surpresa, e ele e' MAIOR aqui do que no
   cartao: o pseudo-elemento cobre a vitrine, entao NAO DA' PARA SELECIONAR o
   enunciado. No cartao o conteudo era rotulo de navegacao; aqui e' uma
   questao, que alguem pode querer copiar. Aceito porque a alternativa e' pior
   (539x313px de objeto que reage ao mouse inteiro e responde ao clique so'
   numa linha de 25px), e porque a questao inteira esta a um toque.

   COR NAO E' O UNICO SINAL, e aqui ela nem e' o primeiro: em repouso sao
   sublinhado + cursor, os dois acromaticos; no hover entra a cor. E' o mesmo
   vocabulario que o `uc-contador[href]` fixou, e de proposito NAO e' o
   `--uc-acao` — ver o orcamento de acento no cabecalho.

   DOIS ALVOS, DOIS PISOS. `inline-flex` e nao inline solto: num <a> inline o
   `padding` vertical PINTA mas nao empurra, entao a caixa continuaria com a
   altura da linha (~17px) e ficaria abaixo ate' do piso legal de 24x24 da
   WCAG 2.5.8. Com `inline-flex` os 4px de cima e de baixo levam a caixa a
   ~25px sem mover o texto nem o sublinhado; no dedo o `min-height` de 44px
   entra por ponteiro, e nao por largura de tela. E' o mesmo par de regras
   que o `uc-botao--texto` documenta — escrito aqui porque a porta e'
   elemento desta peca e nao um botao. */
.uc-capa__porta{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  padding:var(--sp-1) 0;
  color:var(--uc-ink);
  font-size:var(--uc-s--1);
  font-weight:var(--uc-w-realce);
  text-decoration:underline;
  text-decoration-color:var(--uc-rule-forte);
  text-underline-offset:var(--uc-sublinhado-recuo);
}

/* `content:""` e nao `content:none` — o pseudo-elemento precisa existir. */
.uc-capa__porta::after{
  content:"";
  position:absolute;
  inset:0;
}

@media (pointer:coarse){
  .uc-capa__porta{
    min-height:var(--uc-alvo-toque);
  }
}

.uc-capa__exemplo:hover{
  border-color:var(--uc-rule-forte);
}

.uc-capa__exemplo:hover .uc-capa__porta{
  text-decoration-color:currentColor;
}

/* O FOCO E' DA VITRINE, nao da linha de texto: o alvo anunciado (o cartao
   inteiro) e o alvo desenhado tem de ser o mesmo objeto. `:has()` diz isso
   sem JavaScript, e o anel usa os tokens da fundacao — identico ao do chip,
   do botao e do cartao. */
.uc-capa__exemplo:has(.uc-capa__porta:focus-visible){
  outline:var(--uc-foco-largura) solid var(--uc-foco);
  outline-offset:var(--uc-foco-offset);
}

/* E a porta perde o dela — senao sao dois aneis, um deles vazando do objeto.
   O `@supports` NAO e' cerimonia: sem ele, um navegador sem `:has()`
   ignoraria a regra de cima e obedeceria a de baixo, e o resultado seria
   foco INVISIVEL, que e' muito pior que dois aneis. So' se tira o anel de
   alguem quando ha prova de que outro entrou no lugar. */
@supports selector(:has(*)){
  .uc-capa__porta:focus-visible{
    outline:none;
  }
}


/* --------------------------------------------------------------------------
   CELULAR
   --------------------------------------------------------------------------
   Uma coluna, e a ordem do DOM ja e' a ordem certa: promessa, apoio, acao,
   vitrine. Nao ha uma linha de `order` nesta peca — e' a mesma disciplina
   que a tarefa I aplicou ao resolvedor depois de o tema antigo ter pago o
   preco de compensar DOM errado com `order`.

   O vao entre a coluna 1 e a 2 cai de 32px para 24px quando elas viram
   linhas: 32px e' o topo da faixa "entre grupos" e existe para separar duas
   COLUNAS; empilhadas, a promessa e a vitrine ja estao separadas pela
   moldura da vitrine, e 24px continua dentro da faixa do craft. */
@media (max-width:900px){
  .uc-capa{
    grid-template-columns:minmax(0,1fr);
    gap:var(--sp-5);
  }

  /* ⛔ A PALAVRA DESCE PARA A LINHA SEGUINTE — defeito meu, achado na captura
     de 320px e confirmado no computado, nao lido no arquivo.
     Medido a 320px com a linha de 208px: `grid-template-columns` computava
     `20px 62.7188px 65.2812px`. O rotulo "GABARITO" ficava com 65px, quase
     tanto quanto os 62,7px que sobravam para o TEXTO DA ALTERNATIVA — e com
     `overflow-wrap:anywhere` o texto passou a quebrar no meio das palavras
     ("competenc / ia e / privativa"). O sinal que existe para NAO competir
     com a leitura estava competindo com ela.
     E' o mesmo defeito, na mesma largura, que a tarefa I corrigiu no
     resolvedor ("a 390px o RESPOSTA CERTA comia 110px de uma alternativa de
     271px").
     O conserto e' o `em` ocupar as DUAS linhas: a alternativa passa a ter
     duas trilhas, o texto vai para a linha 1 da coluna 2 e a palavra para a
     linha 2 da mesma coluna, por colocacao automatica. Nao ha um seletor
     mirando `.uc-rotulo` — o alvo e' `em`, que nao tem prefixo e por isso a
     Regra 16 nao julga. */
  .uc-capa__alternativa{
    grid-template-columns:auto minmax(0,1fr);
  }

  /* ⛔ E O `span 2` E' SO' DA ALTERNATIVA DO GABARITO — segundo defeito meu
     nesta mesma regra, achado medindo `grid-template-rows` depois de aplicar
     o primeiro conserto. Escrito sem o seletor de atributo, ele criava uma
     SEGUNDA LINHA VAZIA nas quatro alternativas que nao tem palavra nenhuma:

       antes   A (gabarito)  rows "19,375px 14,531px"  altura 59,9
               B, C, D, E    rows "19,375px 0px"       altura 45,4  <- +8px
                                                        de linha fantasma
                                                        mais o `gap` de linha

     Oito pixels de nada em quatro de cada cinco alternativas, invisiveis no
     arquivo e visiveis so' no computado. `[data-uc-gabarito]` e' a condicao
     exata: so' quem tem a palavra precisa da linha. */
  .uc-capa__alternativa[data-uc-gabarito] em{
    grid-row:span 2;
  }
}
