/* Gaveta "Índice do além" — novo desenho. Abre em 480 ms (curva de entrada), itens em cascata, lua do eclipse cruza, borda pisca em ciano. */
.alem-gaveta[hidden], .alem-gaveta-veu[hidden] { display: none !important; }
html.alem-gaveta-aberta { overflow: hidden; }
.alem-gaveta-veu { position: fixed; inset: 0; z-index: 100001; background: color-mix(in srgb, var(--alem-nanquim, #0c0d0e) 42%, transparent); opacity: 0; transition: opacity .3s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-gaveta-veu[data-aberta] { opacity: 1; }
.alem-gaveta { position: fixed; left: 0; top: 0; bottom: 0; z-index: 100002; width: 600px; max-width: 100vw; display: flex; flex-direction: column; overflow: hidden; background: var(--alem-nanquim, #0c0d0e); color: var(--alem-papel, #f6f3ee); box-shadow: 0 0 0 1px var(--alem-linha-tela, #2c2d2e), 30px 0 60px color-mix(in srgb, var(--alem-nanquim, #0c0d0e) 35%, transparent); font-family: var(--alem-f-interface, "Source Sans 3", sans-serif);
  transform: translateX(-102%); visibility: hidden; transition: transform .28s var(--alem-curva-saida, cubic-bezier(.3,0,.8,.15)) .06s, visibility 0s linear .36s; }
.alem-gaveta[data-aberta] { transform: none; visibility: visible; transition: transform .48s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)), visibility 0s; }
.alem-gaveta::before { content: ""; position: absolute; inset: 0; background-image: var(--alem-varredura, repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, transparent 1px 4px)); pointer-events: none; }
.alem-gaveta::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 2px; background: var(--alem-ciano, #36aeb0); box-shadow: 0 0 14px color-mix(in srgb, var(--alem-ciano, #36aeb0) 80%, transparent); opacity: 0; }
.alem-gaveta[data-aberta]::after { animation: alem-pisca 1s linear .3s both; }
@keyframes alem-pisca { 0% { opacity: 0; } 20% { opacity: 1; } 30% { opacity: .2; } 45% { opacity: 1; } 60% { opacity: .5; } 100% { opacity: 1; } }
.alem-gaveta-eclipse { position: absolute; right: -10px; top: -10px; width: 150px; height: 150px; pointer-events: none; }
.alem-gaveta-eclipse i, .alem-gaveta-eclipse b { position: absolute; top: 0; width: 150px; height: 150px; border-radius: 50%; }
.alem-gaveta-eclipse i { right: 0; background: repeating-linear-gradient(180deg, var(--alem-papel, #f6f3ee) 0 2px, color-mix(in srgb, var(--alem-texto-tela, #f6f3ee) 25%, transparent) 2px 5px); }
.alem-gaveta-eclipse b { right: 40px; background: var(--alem-nanquim, #0c0d0e); transform: translateX(-170px); transition: transform .2s ease; }
.alem-gaveta[data-aberta] .alem-gaveta-eclipse b { transform: none; transition: transform 1s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) .2s; }
.alem-gaveta-topo { position: relative; display: flex; align-items: center; gap: 16px; height: 88px; padding: 0 24px; flex: none; }
.alem-gaveta-fechar { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1.5px solid var(--alem-contorno-tela, #3a3b3c); border-radius: 50%; background: transparent; color: var(--alem-papel, #f6f3ee); cursor: pointer; transition: box-shadow .24s ease, border-color .24s ease, transform .4s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)); }
.alem-gaveta[data-aberta] .alem-gaveta-fechar { animation: alem-gira .48s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) both; }
@keyframes alem-gira { from { transform: rotate(-90deg); } to { transform: none; } }
.alem-gaveta-fechar:is(:hover, :focus-visible) { border-color: var(--alem-ciano, #36aeb0); box-shadow: 0 0 16px color-mix(in srgb, var(--alem-ciano, #36aeb0) 40%, transparent); }
.alem-gaveta-titulo { font: 500 10px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .16em; text-transform: uppercase; color: var(--alem-ciano, #36aeb0); }
.alem-gaveta-titulo b { font-style: italic; }
.alem-gaveta-corpo { position: relative; flex: 1; min-height: 0; overflow-y: auto; padding: 0 40px 24px; display: flex; flex-direction: column; gap: 22px; }
.alem-gaveta a { color: inherit; text-decoration: none; }
.alem-gaveta-editorias { display: flex; flex-direction: column; }
.alem-gaveta-ed { display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 6px 0; border-bottom: 1px solid var(--alem-linha-tela, #2c2d2e); transition: padding .24s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-gaveta-marca { width: 12px; height: 12px; border-radius: 50%; flex: none; box-shadow: inset 3px 0 0 0 var(--alem-tela-6f6c67, #6f6c67); transition: all .24s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-gaveta-ed:is(:hover, :focus-visible) { padding-left: 6px; }
.alem-gaveta-ed:is(:hover, :focus-visible) .alem-gaveta-marca { background: var(--alem-ciano, #36aeb0); box-shadow: 0 0 12px color-mix(in srgb, var(--alem-ciano, #36aeb0) 70%, transparent); }
.alem-gaveta-ed-texto { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.alem-gaveta-ed-nome { font: 620 24px/1.05 var(--alem-f-titulo, "Fraunces", serif); letter-spacing: -.018em; color: var(--alem-papel, #f6f3ee); }
.alem-gaveta-ed-agora { font-size: 13.5px; color: var(--alem-texto2-tela, #a9a49c); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.alem-gaveta-seta { margin-left: auto; color: var(--alem-tela-5c5d5e, #5c5d5e); }
.alem-gaveta-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.alem-gaveta-rotulo { display: block; margin-bottom: 6px; font: 500 10px/1.2 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .16em; text-transform: uppercase; color: var(--alem-ciano, #36aeb0); }
.alem-gaveta-rotulo-peq { display: block; font: 500 9.5px/1.2 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .14em; text-transform: uppercase; color: var(--alem-texto2-tela, #a9a49c); }
.alem-gaveta-colunista { display: flex; align-items: center; gap: 10px; height: 40px; font-weight: 600; font-size: 15px; color: var(--alem-texto3-tela, #c9c4bb); transition: color .2s ease; }
.alem-gaveta-colunista:is(:hover, :focus-visible), .alem-gaveta-link:is(:hover, :focus-visible) { color: var(--alem-ciano-claro, #92e1dd); }
.alem-gaveta-iniciais { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--alem-papel, #f6f3ee); color: var(--alem-nanquim, #0c0d0e); font: italic 600 11px/1 var(--alem-f-titulo, "Fraunces", serif); }
.alem-gaveta-revista { display: flex; align-items: center; gap: 12px; margin: 4px 0 10px; padding: 10px; border: 1px solid var(--alem-linha-tela, #2c2d2e); border-radius: 16px 4px 4px 4px; transition: border-color .24s ease, box-shadow .24s ease; }
.alem-gaveta-revista:is(:hover, :focus-visible) { border-color: var(--alem-ciano, #36aeb0); box-shadow: 0 0 16px color-mix(in srgb, var(--alem-ciano, #36aeb0) 25%, transparent); }
.alem-gaveta-visor { flex: none; font: 600 18px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); color: var(--alem-ciano-claro, #92e1dd); background: var(--alem-tela-funda, #050606); border-radius: 6px; padding: 6px 8px; text-shadow: 0 0 8px color-mix(in srgb, var(--alem-ciano, #36aeb0) 90%, transparent); box-shadow: inset 0 0 0 1px var(--alem-linha-tela, #2c2d2e); }
.alem-gaveta-revista-titulo { display: block; margin-top: 2px; font: 620 15px/1.2 var(--alem-f-titulo, "Fraunces", serif); color: var(--alem-papel, #f6f3ee); }
.alem-gaveta-link { display: block; padding: 6px 0; font-weight: 600; font-size: 15px; color: var(--alem-texto3-tela, #c9c4bb); }
.alem-gaveta-pe { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; flex: none; padding: 16px 40px 22px; border-top: 1px solid var(--alem-linha-tela, #2c2d2e); }
.alem-gaveta-inst { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13.5px; font-weight: 600; color: var(--alem-texto2-tela, #a9a49c); }
.alem-gaveta-redes { display: flex; gap: 6px; }
.alem-gaveta-redes a { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--alem-contorno-tela, #3a3b3c); display: inline-grid; place-items: center; color: var(--alem-papel, #f6f3ee); transition: border-color .24s ease, box-shadow .24s ease; }
.alem-gaveta-redes a:is(:hover, :focus-visible) { border-color: var(--alem-ciano, #36aeb0); box-shadow: 0 0 14px color-mix(in srgb, var(--alem-ciano, #36aeb0) 45%, transparent); }
.alem-gaveta :focus-visible { outline: 2px solid var(--alem-ciano, #36aeb0); outline-offset: 3px; }
/* Cascata: cada bloco entra deslizando 16 px com atraso próprio (--d). */
.alem-gaveta .alem-cascata { opacity: 0; transform: translateX(-16px); transition: opacity .12s, transform .12s; }
.alem-gaveta[data-aberta] .alem-cascata { opacity: 1; transform: none; transition: opacity .3s var(--alem-curva, cubic-bezier(.2,0,0,1)) var(--d, 0s), transform .45s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) var(--d, 0s); }
@media (max-width: 780px) {
  .alem-gaveta { width: 100vw; }
  .alem-gaveta-corpo { padding: 0 22px 20px; }
  .alem-gaveta-colunas { grid-template-columns: 1fr; gap: 22px; }
  .alem-gaveta-pe { padding: 14px 22px calc(18px + env(safe-area-inset-bottom)); }
  .alem-gaveta-ed-nome { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .alem-gaveta, .alem-gaveta[data-aberta], .alem-gaveta .alem-cascata, .alem-gaveta[data-aberta] .alem-cascata, .alem-gaveta-eclipse b, .alem-gaveta[data-aberta] .alem-gaveta-eclipse b { transition: opacity .15s ease !important; transform: none !important; animation: none !important; }
  .alem-gaveta[data-aberta]::after { animation: none; opacity: 1; }
  .alem-gaveta-fechar, .alem-gaveta[data-aberta] .alem-gaveta-fechar { animation: none !important; }
}

.alem-gaveta-busca { display: flex; align-items: center; gap: 12px; width: 100%; height: 56px; padding: 0 20px; border: 1.5px solid var(--alem-contorno-tela, #3a3b3c); border-radius: 999px; background: color-mix(in srgb, var(--alem-branco, #ffffff) 4%, transparent); color: var(--alem-papel, #f6f3ee); font: 560 19px/1 var(--alem-f-titulo, "Fraunces", serif); cursor: pointer; text-align: left; transition: border-color .24s ease, box-shadow .24s ease; flex: none; }
.alem-gaveta-busca b { font-style: italic; }
.alem-gaveta-busca span:first-of-type { flex: 1; }
.alem-gaveta-busca:is(:hover, :focus-visible) { border-color: var(--alem-ciano, #36aeb0); box-shadow: 0 0 16px color-mix(in srgb, var(--alem-ciano, #36aeb0) 35%, transparent); }
.alem-gaveta-busca-tecla { padding: 3px 8px; border: 1px solid var(--alem-contorno-tela, #3a3b3c); border-radius: 5px; color: var(--alem-texto2-tela, #a9a49c); font: 500 11px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); }
@media (max-width: 780px) { .alem-gaveta-busca-tecla { display: none; } }

/* Pé da gaveta (8ª entrega): grupos "Sobre o além" e "Ajuda", um por linha. */
.alem-gaveta-inst { flex: 1 1 100%; align-items: baseline; gap: 6px 16px; }
.alem-gaveta-inst b { flex: 0 0 100%; font: 500 9.5px/1.2 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .16em; text-transform: uppercase; color: var(--alem-ciano, #36aeb0); }
.alem-gaveta-pe { row-gap: 12px; }
