/* BSN v2 — visual de portal moderno. Cores herdadas do site atual: azul-noite #003466/#0b1a2e, laranja #ff9b3d/#fc7313, ciano #88e7ff. */

:root {
	--fundo: #003466;
	--fundo-2: #002a54;
	--superficie: rgba(0, 32, 66, 0.78);
	--superficie-2: rgba(0, 46, 92, 0.92);
	--borda: rgba(136, 231, 255, 0.18);
	--borda-forte: rgba(136, 231, 255, 0.34);
	--texto: #f2f8fd;
	--texto-2: #c3dbee;
	--texto-3: #93b6d2;
	--laranja: #ff9b3d;
	--laranja-2: #fc7313;
	--ciano: #88e7ff;
	--azul: #55addb;
	--roxo: #b99bff;
	--sombra: 0 10px 30px rgba(0, 0, 0, 0.35);
	--raio: 14px;
	--largura: 1240px;
	--fonte-titulo: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
	--fonte: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
	--topo-h: 64px;
	color-scheme: dark;
}
html[data-tema="claro"] body { background-image: none; }
html[data-tema="claro"] {
	--fundo: #f3f6fb;
	--fundo-2: #e8eef7;
	--superficie: #ffffff;
	--superficie-2: #f2f6fb;
	--borda: rgba(0, 52, 102, 0.12);
	--borda-forte: rgba(0, 52, 102, 0.24);
	--texto: #0b1a2e;
	--texto-2: #3e5872;
	--texto-3: #647d96;
	--laranja: #e8700f;
	--laranja-2: #c85a00;
	--ciano: #0a7fa8;
	--azul: #1d6fa5;
	--roxo: #6c45d6;
	--sombra: 0 10px 30px rgba(11, 26, 46, 0.12);
	color-scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body {
	margin: 0;
	background: var(--fundo);
	background-image: radial-gradient(900px 500px at 85% -10%, rgba(136, 231, 255, 0.14), transparent 60%),
		linear-gradient(180deg, #002a54 0%, #003466 22%, #006699 62%, #3f93c4 100%);
	background-attachment: fixed;
	color: var(--texto);
	font: 400 16px/1.55 var(--fonte);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--laranja); }
:focus-visible { outline: 2px solid var(--laranja); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--fonte-titulo); letter-spacing: -0.01em; margin: 0; line-height: 1.2; }
svg { flex: none; }
.v2-largura { width: min(100% - 32px, var(--largura)); margin-inline: auto; }
.v2-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v2-pular { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--laranja); color: #1a0d00; padding: 10px 14px; border-radius: 8px; font-weight: 600; }
.v2-pular:focus { top: 12px; }

/* ---------------------------------------------------------------- topo */
.v2-topo {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(0, 38, 76, 0.86);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--borda);
}
html[data-tema="claro"] .v2-topo { background: rgba(255, 255, 255, 0.86); }
.v2-topo-linha { position: relative; display: flex; align-items: center; gap: 20px; height: var(--topo-h); }
.v2-marca { display: inline-flex; align-items: center; gap: 10px; color: var(--texto); }
.v2-marca:hover { color: var(--texto); }
.v2-marca-icone { transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2-marca:hover .v2-marca-icone { transform: rotate(45deg) scale(1.08); }
.v2-marca-texto { display: flex; flex-direction: column; line-height: 1; }
.v2-marca-texto strong { font: 700 22px/1 var(--fonte-titulo); letter-spacing: 0.04em; }
.v2-marca-texto span { font-size: 11px; color: var(--texto-2); letter-spacing: 0.12em; text-transform: uppercase; margin-top: 3px; }
.v2-data { color: var(--texto-3); font-size: 13px; text-transform: capitalize; border-left: 1px solid var(--borda); padding-left: 18px; }
.v2-topo-acoes { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.v2-busca { display: flex; align-items: center; background: var(--superficie); border: 1px solid var(--borda); border-radius: 999px; padding: 2px 4px 2px 14px; transition: border-color 0.2s, box-shadow 0.2s; }
.v2-busca:focus-within { border-color: var(--laranja); box-shadow: 0 0 0 4px rgba(255, 155, 61, 0.15); }
.v2-busca input { background: none; border: 0; color: var(--texto); font: inherit; font-size: 14px; width: 190px; outline: none; }
.v2-busca input::placeholder { color: var(--texto-3); }
.v2-busca button, .v2-icone-btn {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--texto-2);
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.v2-busca button:hover, .v2-icone-btn:hover { background: var(--superficie-2); color: var(--laranja); }
.v2-abrir-menu, .v2-fechar-menu { display: none; }

.v2-nav { position: relative; border-top: 1px solid var(--borda); }
.v2-nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.v2-nav ul::-webkit-scrollbar { display: none; }
.v2-nav a {
	position: relative;
	display: block;
	padding: 12px 14px;
	font: 600 14px var(--fonte);
	color: var(--texto-2);
	white-space: nowrap;
}
.v2-nav a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: var(--laranja);
	transform: scaleX(0);
	transition: transform 0.25s ease;
}
.v2-nav a:hover { color: var(--texto); }
.v2-nav a:hover::after, .v2-nav a.ativo::after { transform: scaleX(1); }
.v2-nav a.ativo { color: var(--texto); }
.v2-nav li:last-child { margin-left: auto; }
.v2-nav li:last-child a { color: var(--laranja); }
/* Atalhos (Foguetes, Céu de hoje): não são categorias, então levam ícone e cor própria */
.v2-nav .v2-nav-atalho a { display: flex; align-items: center; gap: 7px; color: var(--ciano); }
.v2-nav .v2-nav-atalho a svg { width: 17px; height: 17px; flex: none; }
.v2-nav .v2-nav-atalho a::after { background: var(--ciano); }
.v2-nav .v2-nav-atalho a:hover, .v2-nav .v2-nav-atalho a.ativo { color: var(--ciano); }
.v2-nav li:not(.v2-nav-atalho) + .v2-nav-atalho { margin-left: 10px; padding-left: 10px; border-left: 1px solid var(--borda); }

/* Acervo: ícone (Material Symbols) em cima do texto no desktop; ao lado do texto no menu do celular */
.v2-nav a.v2-nav-acervo { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 5px 10px; font-size: 10px; line-height: 1; color: var(--laranja); }
.v2-nav a.v2-nav-acervo .material-symbols-outlined { font-size: 20px; line-height: 1; }

/* Foguetes, Céu, Efemérides e Acervo: fundo arredondado, como ícone de app de celular */
.v2-nav .v2-nav-atalho, .v2-nav .v2-nav-acervo-li { align-self: center; }
.v2-nav .v2-nav-atalho a, .v2-nav a.v2-nav-acervo {
	background: var(--superficie);
	border: 1px solid var(--borda);
	border-radius: 12px;
	transition: background 0.2s, border-color 0.2s;
}
.v2-nav .v2-nav-atalho a { padding: 8px 12px; }
.v2-nav .v2-nav-atalho a::after, .v2-nav a.v2-nav-acervo::after { display: none; }
.v2-nav .v2-nav-atalho a:hover, .v2-nav .v2-nav-atalho a.ativo,
.v2-nav a.v2-nav-acervo:hover, .v2-nav a.v2-nav-acervo.ativo { background: var(--superficie-2); border-color: var(--ciano); }
.v2-nav a.v2-nav-acervo:hover, .v2-nav a.v2-nav-acervo.ativo { border-color: var(--laranja); }
/* web: Foguetes/Céu/Efemérides vão para a direita, colados ao Acervo */
.v2-nav li:not(.v2-nav-atalho) + .v2-nav-atalho { border-left: 0; padding-left: 0; margin-left: auto; }
.v2-nav li.v2-nav-acervo-li { margin-left: 10px; }
@media (max-width: 760px) {
	.v2-nav a.v2-nav-acervo { flex-direction: row; justify-content: flex-start; gap: 10px; padding: 14px 12px; font-size: 16px; }
	.v2-nav a.v2-nav-acervo .material-symbols-outlined { font-size: 22px; }
	.v2-nav .v2-nav-atalho a { padding: 14px 12px; }
	.v2-nav li { margin-bottom: 0; }
	/* menu do celular: atalhos e Acervo voltam a ser itens comuns da lista, alinhados à esquerda, sem cara de botão */
	.v2-nav .v2-nav-atalho, .v2-nav .v2-nav-acervo-li,
	.v2-nav li:not(.v2-nav-atalho) + .v2-nav-atalho, .v2-nav li.v2-nav-acervo-li { align-self: stretch; margin-left: 0; }
	.v2-nav .v2-nav-atalho a, .v2-nav a.v2-nav-acervo { background: none; border: 0; border-radius: 10px; }
	.v2-nav .v2-nav-atalho a:hover, .v2-nav .v2-nav-atalho a.ativo,
	.v2-nav a.v2-nav-acervo:hover, .v2-nav a.v2-nav-acervo.ativo { background: var(--superficie); }
	/* header do celular: os atalhos (Céu, Efemérides, Foguetes) ganham a bordinha de botão */
	.v2-topo-acoes .v2-atalho, .v2-mast-acoes .v2-atalho { border: 1px solid var(--borda); border-radius: 10px; background: var(--superficie); }
}

/* faixa de manchetes */
.v2-ticker { display: flex; align-items: center; border-top: 1px solid var(--borda); background: rgba(0, 0, 0, 0.12); font-size: 13px; height: 38px; overflow: hidden; }
.v2-ticker-rotulo { display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; height: 100%; background: var(--laranja); color: #1a0d00; font: 700 12px var(--fonte); text-transform: uppercase; letter-spacing: 0.08em; flex: none; }
.v2-pulso { width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: v2-pulso 1.6s ease-out infinite; }
@keyframes v2-pulso { 0% { box-shadow: 0 0 0 0 rgba(255, 60, 60, 0.8); } 100% { box-shadow: 0 0 0 10px rgba(255, 60, 60, 0); } }
.v2-ticker-rotulo .v2-pulso { background: #c4140f; }
.v2-ticker-janela { overflow: hidden; flex: 1; mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
.v2-ticker-trilho { display: inline-flex; align-items: center; gap: 18px; white-space: nowrap; padding-left: 18px; animation: v2-rolar var(--v2-ticker-duracao, 240s) linear infinite; }
.v2-ticker:hover .v2-ticker-trilho, .v2-ticker:focus-within .v2-ticker-trilho { animation-play-state: paused; }
@keyframes v2-rolar { to { transform: translateX(-50%); } }
.v2-ticker a { color: var(--texto-2); }
.v2-ticker a:hover { color: var(--texto); }
.v2-ticker-fonte { color: var(--laranja); font-weight: 600; margin-right: 8px; }
.v2-ticker-sep { color: var(--texto-3); font-size: 10px; }

/* ---------------------------------------------------------------- elementos comuns */
main { padding: 28px 0 40px; }
.v2-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 12.5px; color: var(--texto-3); margin-bottom: 8px; }
.v2-fonte { color: var(--texto-2); font-weight: 600; }
/* selo de confiabilidade da fonte (src/confiabilidade.js): barrinhas nas notas 1-3, só ✓ verde na 4 */
.v2-selo { cursor: help; border-radius: 4px; }
.v2-selo:focus-visible { outline: 2px solid var(--laranja); outline-offset: 2px; }
.v2-selo-dica { position: absolute; z-index: 1000; max-width: 240px; padding: 6px 10px; border-radius: 8px; background: #0b1426; color: #fff; border: 1px solid rgba(255, 255, 255, 0.18); font: 600 12.5px/1.35 Inter, system-ui, sans-serif; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4); pointer-events: none; }
.v2-selo { display: inline-flex; align-items: center; gap: 2px; margin-right: 5px; vertical-align: -1px; }
.v2-selo svg { width: 13px; height: 10px; fill: currentColor; }
.v2-selo rect.off { opacity: 0.25; }
.v2-selo .v2-selo-ok { width: 13px; height: 13px; fill: #1d9bf0; /* nota 4: selo de verificado azul */ }
.v2-selo .v2-selo-ok .v { stroke: #fff; fill: none; }
.v2-selo-4, .v2-selo-3 { color: #22c55e; }
.v2-selo-2 { color: #60a5fa; }
.v2-selo-1 { color: #f59e0b; }
.v2-pilula {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 999px;
	font: 700 10.5px/1.4 var(--fonte);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ciano);
	background: rgba(136, 231, 255, 0.12);
	border: 1px solid rgba(136, 231, 255, 0.25);
}
.v2-pilula:hover { color: var(--texto); }
.v2-pilula-astronautica { color: var(--laranja); background: rgba(255, 155, 61, 0.12); border-color: rgba(255, 155, 61, 0.3); }
.v2-pilula-astrofisica { color: var(--roxo); background: rgba(185, 155, 255, 0.12); border-color: rgba(185, 155, 255, 0.3); }
.v2-pilula-newspace { color: #ff8fc8; background: rgba(255, 143, 200, 0.12); border-color: rgba(255, 143, 200, 0.3); }
.v2-pilula-educacao { color: #7fdc9a; background: rgba(127, 220, 154, 0.12); border-color: rgba(127, 220, 154, 0.3); }

.v2-secao-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--borda); }
.v2-secao-topo h2 { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; }
.v2-secao-topo h2 small { font: 500 13px var(--fonte); color: var(--texto-3); }
.v2-secao-marca { width: 10px; height: 10px; border-radius: 3px; background: linear-gradient(135deg, var(--laranja), var(--laranja-2)); transform: rotate(45deg); box-shadow: 0 0 12px rgba(255, 155, 61, 0.6); }
.v2-ver-mais { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--laranja); white-space: nowrap; }
.v2-ver-mais svg { width: 16px; height: 16px; transition: transform 0.2s; }
.v2-ver-mais:hover svg { transform: translateX(3px); }
.v2-botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--laranja), var(--laranja-2));
	color: #1a0d00;
	font-weight: 700;
	font-size: 14px;
	box-shadow: 0 6px 18px rgba(252, 115, 19, 0.35);
	transition: transform 0.2s, box-shadow 0.2s;
	white-space: nowrap;
}
.v2-botao:hover { color: #1a0d00; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(252, 115, 19, 0.45); }
.v2-botao svg { width: 18px; height: 18px; }

/* cartões */
.v2-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--superficie);
	border: 1px solid var(--borda);
	border-radius: var(--raio);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.v2-card:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: var(--borda-forte); }
.v2-card-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--fundo-2); }
.v2-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2-card:hover .v2-card-img img { transform: scale(1.06); }
.v2-card-corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.v2-card-titulo { font-size: 17px; font-weight: 600; line-height: 1.3; }
.v2-card-titulo a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 0.3s; }
.v2-card:hover .v2-card-titulo a { background-size: 100% 1px; }
.v2-card-resumo { margin: 8px 0 0; color: var(--texto-2); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2-card-grande .v2-card-titulo { font-size: 22px; }
.v2-card-lista { flex-direction: row; background: transparent; border: 0; border-bottom: 1px solid var(--borda); border-radius: 0; }
.v2-card-lista:hover { transform: none; box-shadow: none; }
.v2-card-lista .v2-card-corpo { padding: 12px 0; }
.v2-card-lista .v2-card-titulo { font-size: 16px; }
.v2-card-lista .v2-card-resumo { -webkit-line-clamp: 2; font-size: 13.5px; }
.v2-card-compacto .v2-card-titulo { font-size: 15.5px; }
.v2-card-compacto { border-left: 3px solid var(--azul); }
.v2-card-compacto:has(.v2-pilula-astronautica) { border-left-color: var(--laranja); }
.v2-card-compacto:has(.v2-pilula-astrofisica) { border-left-color: var(--roxo); }
.v2-card-compacto:has(.v2-pilula-newspace) { border-left-color: #ff8fc8; }
.v2-card-compacto:has(.v2-pilula-educacao) { border-left-color: #7fdc9a; }

.v2-grade-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.v2-grade-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.v2-breves { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

/* ---------------------------------------------------------------- home: hero editorial */
.v2-hero { display: grid; grid-template-columns: 1.65fr 1fr; gap: 24px; margin-bottom: 40px; }
.v2-manchete { position: relative; border-radius: calc(var(--raio) + 4px); overflow: hidden; min-height: 460px; background: var(--fundo-2); isolation: isolate; box-shadow: var(--sombra); }
.v2-manchete-img, .v2-manchete-img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.v2-manchete-img img { object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2-manchete:hover .v2-manchete-img img { transform: scale(1.04); }
.v2-manchete::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(5, 13, 26, 0) 30%, rgba(5, 13, 26, 0.75) 62%, rgba(5, 13, 26, 0.97)); }
.v2-manchete-texto { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 32px; color: #fff; }
.v2-manchete-texto .v2-meta, .v2-manchete-texto .v2-fonte { color: #d6e6f3; }
.v2-manchete h1 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 700; line-height: 1.12; text-wrap: balance; }
.v2-manchete h1 a:hover { color: var(--laranja); }
.v2-manchete p { margin: 12px 0 0; color: #d6e6f3; font-size: 16px; max-width: 62ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-hero-lado { display: grid; grid-template-rows: repeat(5, 1fr); gap: 12px; }
.v2-hero-item { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: center; padding: 12px; border-radius: var(--raio); background: var(--superficie); border: 1px solid var(--borda); transition: transform 0.25s, border-color 0.25s, background 0.25s; }
.v2-hero-item:hover { transform: translateX(4px); border-color: var(--borda-forte); background: var(--superficie-2); }
.v2-hero-thumb { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; }
.v2-hero-thumb img { width: 100%; height: 100%; object-fit: cover; }
.v2-hero-item h2 { font-size: 15.5px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2-hero-item .v2-meta { margin-bottom: 6px; }

/* colunas: principal + lateral */
.v2-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.v2-principal > section { margin-bottom: 44px; }
.v2-lateral { display: flex; flex-direction: column; gap: 20px; }

.v2-bloco-grade { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.v2-bloco-lista { display: flex; flex-direction: column; }
.v2-bloco-lista .v2-card-lista:last-child { border-bottom: 0; }
/* coluna ao lado do destaque: páginas de 3 notícias empilhadas na mesma célula (a altura é a da maior) */
.v2-bloco-coluna { display: flex; flex-direction: column; min-width: 0; }
.v2-bloco-paginas { display: grid; }
.v2-bloco-pagina { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity 0.35s ease, visibility 0s linear 0.35s; align-content: start; }
.v2-bloco-pagina.ativa { visibility: visible; opacity: 1; transition: opacity 0.35s ease; }
.v2-bloco-pag { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 10px; }
.v2-bloco-pag button { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); cursor: pointer; }
.v2-bloco-pag button:hover { color: var(--laranja); border-color: var(--laranja); }
.v2-bloco-pag button svg { width: 16px; height: 16px; }
.v2-bloco-pag button[data-dir="-1"] svg { transform: scaleX(-1); }
.v2-bloco-contagem { font-size: 13px; color: var(--texto-3); min-width: 3.2em; text-align: center; font-variant-numeric: tabular-nums; }

/* widgets laterais */
.v2-widget { background: var(--superficie); border: 1px solid var(--borda); border-radius: calc(var(--raio) + 2px); padding: 18px; position: relative; overflow: hidden; }
.v2-widget-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.v2-widget-topo h2 { display: flex; align-items: center; gap: 8px; font-size: 17px; }
.v2-widget-topo h2 svg { color: var(--laranja); }
.v2-widget-sub { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--texto-3); }
.v2-widget-sub svg { width: 14px; height: 14px; }
.v2-widget-h3 { display: flex; align-items: center; gap: 6px; font: 700 11px var(--fonte); text-transform: uppercase; letter-spacing: 0.1em; color: var(--texto-3); margin: 16px 0 8px; }
.v2-widget-h3 svg { width: 14px; height: 14px; }
.v2-widget-credito { margin: 12px 0 0; font-size: 11px; color: var(--texto-3); }

.v2-ceu { background: linear-gradient(160deg, rgba(0, 40, 82, 0.85) 0%, rgba(0, 22, 48, 0.92) 100%); }
html[data-tema="claro"] .v2-ceu { background: linear-gradient(160deg, #fff, #eef4fb); }
.v2-ceu::before { content: ""; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 210, 154, 0.15), transparent 70%); pointer-events: none; }
.v2-ceu-lua { display: flex; align-items: center; gap: 16px; }
.v2-lua { filter: drop-shadow(0 0 18px rgba(255, 240, 210, 0.25)); animation: v2-flutuar 8s ease-in-out infinite; }
@keyframes v2-flutuar { 50% { transform: translateY(-4px); } }
.v2-ceu-fase { display: block; font: 700 20px var(--fonte-titulo); }
.v2-ceu-ilum, .v2-ceu-dist { display: block; font-size: 13px; color: var(--texto-2); }
.v2-ceu-dist { color: var(--texto-3); }
.v2-ceu-horas { display: grid; gap: 8px; margin: 16px 0 0; padding: 12px; border-radius: 12px; background: rgba(0, 0, 0, 0.18); }
html[data-tema="claro"] .v2-ceu-horas { background: rgba(0, 52, 102, 0.05); }
.v2-ceu-horas div { display: flex; justify-content: space-between; gap: 8px; font-size: 13.5px; }
.v2-ceu-horas dt { display: flex; align-items: center; gap: 6px; color: var(--texto-2); font-weight: 600; }
.v2-ceu-horas dt svg { width: 16px; height: 16px; color: var(--laranja); }
.v2-ceu-horas dd { margin: 0; font-variant-numeric: tabular-nums; }
.v2-ceu-fases, .v2-ceu-planetas { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.v2-ceu-fases { grid-template-columns: 1fr 1fr; gap: 0; border-radius: 12px; background: linear-gradient(145deg, rgba(136, 231, 255, 0.16) 0%, rgba(120, 140, 255, 0.10) 50%, rgba(255, 155, 61, 0.12) 100%); border: 1px solid var(--borda); overflow: hidden; }
.v2-ceu-fases li { display: flex; flex-direction: column; padding: 12px 12px; background: none; border: 0; }
.v2-ceu-fases span { font-weight: 600; font-size: 12.5px; }
.v2-ceu-fases time { color: var(--texto-2); font-size: 12px; font-variant-numeric: tabular-nums; }
.v2-ceu-planetas li { display: flex; flex-direction: column; }
.v2-ceu-planetas strong { color: var(--ciano); }
.v2-ceu-planetas span { color: var(--texto-2); font-size: 12.5px; }
.v2-ceu-pos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.v2-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: rgba(136, 231, 255, 0.08); border: 1px solid var(--borda); font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2-chip-abaixo { opacity: 0.45; }
.v2-chip b { font-size: 10px; letter-spacing: 0.08em; color: var(--texto-3); font-weight: 700; }
.v2-efem-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.v2-efem > :not(canvas) { position: relative; z-index: 1; }
.v2-cal { position: relative; }
.v2-efem-canvas-cal { z-index: 1; }
.v2-cal-mes > :not(canvas) { position: relative; z-index: 2; }
.v2-efem-lista { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.v2-efem-lista li { display: flex; align-items: center; gap: 12px; padding: 10px 2px; border-bottom: 1px solid var(--borda); }
.v2-efem-lista li:last-child { border-bottom: 0; }
.v2-efem-lista time { flex: none; min-width: 52px; font-weight: 700; font-size: 12.5px; font-variant-numeric: tabular-nums; line-height: 1.2; color: var(--efem, var(--ciano)); }
.v2-efem-lista time small { display: block; font-weight: 400; color: var(--texto-2); font-size: 11.5px; }
.v2-efem-icones { flex: none; display: inline-flex; align-items: center; margin-left: auto; order: 3; }
.v2-efem-icones svg { width: 26px; height: 26px; }
.v2-efem-icones svg + svg { margin-left: -6px; }
.v2-efem-lista li > span:not(.v2-efem-icones) { flex: 1; }
.v2-efem-lista li.v2-efem-mes { display: block; padding: 14px 2px 6px; border-bottom: 1px solid var(--texto-3); font: 700 11px var(--fonte); text-transform: uppercase; letter-spacing: 0.1em; color: var(--texto-3); }
.v2-efem-lista li.v2-efem-mes:first-child { padding-top: 0; }
.v2-efem-mag { display: block; color: var(--texto-2); font-size: 11.5px; }
.v2-efem-estacao { --efem: #ffb347; }
.v2-efem-fase { --efem: #d9cba8; }
.v2-efem-eclipse { --efem: #ff7a59; }
.v2-efem-chuva { --efem: #ffd166; }
.v2-efem-conjuncao { --efem: #b693ff; }
.v2-efem-planeta { --efem: #6ee7a8; }
.v2-ceu-estacao { display: flex; align-items: center; gap: 6px; margin: 14px 0 0; font-size: 13px; color: var(--texto-2); }
.v2-ceu-estacao svg { width: 16px; height: 16px; color: var(--laranja); }

.v2-lanc-destaque { position: relative; padding: 16px; border-radius: 12px; overflow: hidden; color: #fff; background: #0a1830; isolation: isolate; }
.v2-lanc-destaque::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--v2-lanc-img, none) center / cover; transform: scale(1.05); transition: transform 1s; }
.v2-lanc-destaque::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5, 13, 26, 0.55), rgba(5, 13, 26, 0.95)); }
.v2-lanc-destaque:hover::before { transform: scale(1.12); }
.v2-lanc-destaque h3 { font-size: 18px; margin-top: 12px; }
.v2-lanc-cont { display: flex; align-items: baseline; gap: 3px; font: 700 26px/1 var(--fonte-titulo); font-variant-numeric: tabular-nums; color: var(--laranja); }
.v2-lanc-cont small { font: 500 11px var(--fonte); color: #c7d8e6; margin-right: 8px; }
.v2-lanc-foguete { margin: 4px 0 0; font-size: 13px; color: var(--texto-2); }
.v2-lanc-destaque .v2-lanc-foguete { color: #c7d8e6; }
.v2-lanc-info { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; font-size: 12.5px; color: #c7d8e6; }
.v2-lanc-info svg { width: 15px; height: 15px; color: var(--laranja); }
.v2-status { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: rgba(255, 255, 255, 0.1); color: #c7d8e6; white-space: nowrap; }
.v2-status-go { background: rgba(70, 210, 120, 0.18); color: #6ee49a; }
.v2-lanc-paginas { display: grid; }
.v2-lanc-pagina { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity 0.3s ease, visibility 0s linear 0.3s; align-content: start; }
.v2-lanc-pagina.ativa { visibility: visible; opacity: 1; transition: opacity 0.3s ease; }
.v2-lanc-pag { margin-top: 8px; justify-content: center; }
.v2-lanc-lista { list-style: none; margin: 12px 0 0; padding: 0; }
.v2-lanc-lista li { display: grid; grid-template-columns: 54px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--borda); }
.v2-lanc-lista li:last-child { border-bottom: 0; }
.v2-lanc-lista time { display: flex; flex-direction: column; align-items: center; padding: 4px; border-radius: 8px; background: var(--superficie-2); font-size: 11px; color: var(--texto-2); text-align: center; font-variant-numeric: tabular-nums; }
.v2-lanc-lista time strong { font: 700 13px var(--fonte-titulo); color: var(--texto); text-transform: uppercase; }
.v2-lanc-nome { display: block; font-weight: 600; font-size: 13.5px; line-height: 1.3; }
.v2-lanc-lista .v2-lanc-foguete { margin: 0; font-size: 12px; }
.v2-lanc-lista .v2-status { color: var(--texto-2); }
.v2-lanc-lista .v2-status-go { color: #3fbf73; }

.v2-apod-corpo { position: relative; border-radius: 12px; overflow: hidden; }
.v2-apod-corpo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.8s; }
.v2-apod-corpo a:hover img { transform: scale(1.05); }
.v2-apod-legenda { margin: 10px 0 0; font-size: 13.5px; font-weight: 600; }
.v2-apod-credito { font-size: 11.5px; color: var(--texto-3); }
.v2-esqueleto { aspect-ratio: 4 / 3; border-radius: 12px; background: linear-gradient(90deg, var(--superficie-2) 25%, var(--borda-forte) 50%, var(--superficie-2) 75%) 0 0 / 200% 100%; animation: v2-brilho 1.4s linear infinite; }
@keyframes v2-brilho { to { background-position: -200% 0; } }

.v2-vazio { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px 12px; text-align: center; color: var(--texto-3); font-size: 14px; }
.v2-vazio svg { width: 34px; height: 34px; color: var(--laranja); opacity: 0.7; }
.v2-vazio p { margin: 0; }
.v2-vazio-grande { padding: 60px 12px; border: 1px dashed var(--borda-forte); border-radius: var(--raio); margin-bottom: 32px; }

/* arquivo */
.v2-nasa, .v2-arquivo { margin: 8px 0 44px; }
.v2-arquivo-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.v2-arquivo-item { position: relative; padding: 22px 20px 18px; border-radius: var(--raio); background: linear-gradient(160deg, rgba(255, 155, 61, 0.08), transparent 60%), var(--superficie); border: 1px solid var(--borda); transition: transform 0.25s, border-color 0.25s; }
.v2-arquivo-item:hover { transform: translateY(-4px); border-color: rgba(255, 155, 61, 0.35); }
.v2-arquivo-ano { font: 700 44px/1 var(--fonte-titulo); color: transparent; -webkit-text-stroke: 1px var(--laranja); opacity: 0.9; }
.v2-arquivo-item h3 { font-size: 17px; margin: 10px 0 8px; }
.v2-arquivo-item p { margin: 0; font-size: 13.5px; color: var(--texto-2); }
.v2-arquivo-ed { display: inline-block; margin-top: 12px; font-size: 11.5px; font-weight: 700; color: var(--texto-3); text-transform: uppercase; letter-spacing: 0.08em; }

.v2-cta { display: flex; align-items: center; gap: 20px; padding: 24px 28px; border-radius: calc(var(--raio) + 4px); background: linear-gradient(120deg, rgba(255, 155, 61, 0.16), rgba(85, 173, 219, 0.12)); border: 1px solid var(--borda-forte); }
.v2-cta-icone { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: linear-gradient(135deg, var(--laranja), var(--laranja-2)); color: #1a0d00; flex: none; }
.v2-cta h2 { font-size: 20px; }
.v2-cta p { margin: 4px 0 0; color: var(--texto-2); font-size: 14px; }
.v2-cta .v2-botao { margin-left: auto; }

/* ---------------------------------------------------------------- /v2/atual/ */
.v2-pagina-topo { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 24px; margin-bottom: 24px; }
.v2-sobretitulo { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--laranja); }
.v2-sobretitulo .v2-pulso { color: #ff5a4f; }
.v2-pagina-topo h1 { font-size: clamp(30px, 4vw, 46px); font-weight: 700; margin-top: 6px; }
.v2-pagina-sub { margin: 6px 0 0; color: var(--texto-2); }
.v2-pagina-sub a { color: var(--laranja); }
.v2-abas { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-aba { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--borda-forte); font-weight: 600; font-size: 14px; color: var(--texto-2); transition: all 0.2s; }
.v2-aba span { font-size: 11.5px; padding: 1px 7px; border-radius: 999px; background: var(--superficie-2); color: var(--texto-3); }
.v2-aba:hover { color: var(--texto); border-color: var(--laranja); }
.v2-aba.ativo { background: var(--laranja); border-color: var(--laranja); color: #1a0d00; }
.v2-aba.ativo span { background: rgba(0, 0, 0, 0.15); color: #1a0d00; }

.v2-carrossel { position: relative; aspect-ratio: 21 / 9; border-radius: calc(var(--raio) + 4px); overflow: hidden; margin-bottom: 32px; background: var(--fundo-2); box-shadow: var(--sombra); }
.v2-carrossel-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.8s ease, visibility 0.8s; }
.v2-carrossel-slide.ativo { opacity: 1; visibility: visible; }
.v2-carrossel-img, .v2-carrossel-img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.v2-carrossel-img img { object-fit: cover; transform: scale(1.08); transition: transform 7s ease-out; }
.v2-carrossel-slide.ativo .v2-carrossel-img img { transform: scale(1); }
.v2-carrossel-slide::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5, 13, 26, 0.92) 0%, rgba(5, 13, 26, 0.6) 45%, rgba(5, 13, 26, 0) 75%), linear-gradient(0deg, rgba(5, 13, 26, 0.7), transparent 40%); }
.v2-carrossel-texto { position: absolute; z-index: 2; left: 0; bottom: 0; width: min(640px, 100%); padding: 36px 40px 64px; color: #fff; }
.v2-carrossel-texto .v2-meta, .v2-carrossel-texto .v2-fonte { color: #d6e6f3; }
.v2-carrossel-texto h2 { font-size: clamp(22px, 2.8vw, 36px); line-height: 1.12; text-wrap: balance; transform: translateY(12px); opacity: 0; transition: transform 0.7s 0.15s, opacity 0.7s 0.15s; }
.v2-carrossel-texto p { margin: 10px 0 0; color: #d6e6f3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transform: translateY(12px); opacity: 0; transition: transform 0.7s 0.25s, opacity 0.7s 0.25s; }
.v2-carrossel-slide.ativo h2, .v2-carrossel-slide.ativo p { transform: none; opacity: 1; }
.v2-carrossel-texto h2 a:hover { color: var(--laranja); }
.v2-carrossel-controles { position: absolute; z-index: 3; left: 40px; bottom: 22px; display: flex; align-items: center; gap: 10px; }
.v2-carrossel-seta { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.35); background: rgba(5, 13, 26, 0.5); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; transition: background 0.2s; }
.v2-carrossel-seta:hover { background: var(--laranja); border-color: var(--laranja); color: #1a0d00; }
.v2-carrossel-pontos { display: flex; gap: 6px; }
.v2-carrossel-pontos button { width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.v2-carrossel-pontos span { width: 18px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, 0.4); transition: all 0.3s; }
.v2-carrossel-pontos .ativo span { width: 26px; background: var(--laranja); }
.v2-carrossel-progresso { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, 0.1); }
.v2-carrossel-progresso span { display: block; height: 100%; width: 0; background: var(--laranja); }
.v2-carrossel.rodando .v2-carrossel-progresso span { animation: v2-progresso var(--v2-intervalo, 7s) linear; }
@keyframes v2-progresso { to { width: 100%; } }
.v2-grade-atual { margin-bottom: 44px; }
/* Página de categoria: blocos por data, cards (com foto) e lista simples com divisor (sem foto) */
.v2-grade-atual:not(.v2-grade-3) { display: flex; flex-direction: column; gap: 20px; }
.v2-linha-fotos { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.v2-linha-fotos-2 { grid-template-columns: repeat(2, 1fr); }
/* Uma só no dia: card deitado, foto à esquerda e texto à direita, na linha inteira */
.v2-linha-fotos-1 { grid-template-columns: 1fr; }
.v2-linha-fotos-1 .v2-card { flex-direction: row; }
.v2-linha-fotos-1 .v2-card-img { flex: 0 0 42%; aspect-ratio: 16 / 9; }
.v2-linha-fotos-1 .v2-card-corpo { justify-content: center; padding: 18px 22px; }
.v2-linha-fotos-1 .v2-card-titulo { font-size: 20px; }
@media (max-width: 760px) {
	.v2-linha-fotos, .v2-linha-fotos-2 { grid-template-columns: 1fr; }
	.v2-linha-fotos-1 .v2-card { flex-direction: column; }
	.v2-linha-fotos-1 .v2-card-img { flex: none; }
	.v2-linha-fotos-1 .v2-card-corpo { padding: 14px 16px 16px; }
	.v2-linha-fotos-1 .v2-card-titulo { font-size: 17px; }
}
.v2-lista-texto { display: flex; flex-direction: column; border-top: 1px solid var(--borda); }
.v2-lista-texto .v2-card-titulo { font-size: 17px; }
.v2-outras { margin-bottom: 32px; }
.v2-paginacao { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 16px; margin: 8px 0 44px; font-weight: 600; font-size: 14px; }
.v2-paginacao > a, .v2-desab { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--borda-forte); }
.v2-paginacao > a:hover { border-color: var(--laranja); }
.v2-desab { opacity: 0.4; }
.v2-pag-num { display: flex; gap: 4px; }
.v2-pag-num > * { display: grid; place-items: center; min-width: 36px; height: 36px; border-radius: 10px; }
.v2-pag-num a:hover { background: var(--superficie-2); }
.v2-pag-num [aria-current] { background: var(--laranja); color: #1a0d00; }
.v2-nota { text-align: center; font-size: 13px; color: var(--texto-3); }
.v2-nota a { color: var(--laranja); }

/* ---------------------------------------------------------------- rodapé */
.v2-rodape { margin-top: 40px; border-top: 1px solid var(--borda); background: rgba(0, 30, 62, 0.75); }
.v2-rodape-grade { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; padding: 44px 0 28px; }
.v2-rodape p { color: var(--texto-2); font-size: 14px; max-width: 42ch; }
.v2-rodape h2 { font: 700 12px var(--fonte); text-transform: uppercase; letter-spacing: 0.12em; color: var(--texto-3); margin-bottom: 12px; }
.v2-rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.v2-rodape ul a { color: var(--texto-2); }
.v2-rodape ul a:hover { color: var(--laranja); }
.v2-rodape-base { padding: 18px 0 26px; border-top: 1px solid var(--borda); font-size: 12.5px; color: var(--texto-3); }

/* ---------------------------------------------------------------- entrada ao rolar */
/* entradas ao rolar desligadas (pesavam na rolagem em alguns navegadores): tudo aparece direto */
.v2-js [data-revelar] { opacity: 1; transform: none; }
.v2-js [data-revelar].visivel { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- responsivo */
@media (max-width: 1100px) {
	.v2-colunas { grid-template-columns: 1fr; }
	.v2-lateral { position: static; display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; }
	.v2-grade-4 { grid-template-columns: repeat(2, 1fr); }
	.v2-data { display: none; }
}
@media (max-width: 900px) {
	.v2-hero { grid-template-columns: 1fr; }
	.v2-hero-lado { grid-template-rows: none; grid-template-columns: repeat(2, 1fr); }
	.v2-manchete { min-height: 380px; }
	.v2-grade-3 { grid-template-columns: repeat(2, 1fr); }
	.v2-arquivo-grade { grid-template-columns: 1fr; }
	.v2-rodape-grade { grid-template-columns: 1fr 1fr; }
	.v2-carrossel { aspect-ratio: 16 / 10; }
	.v2-busca input { width: 130px; }
}
@media (max-width: 760px) {
	:root { --topo-h: 58px; }
	.v2-busca { display: none; }
	.v2-abrir-menu, .v2-fechar-menu { display: grid; }
	.v2-nav {
		position: fixed;
		inset: 0 0 0 auto;
		width: min(320px, 86vw);
		z-index: 60;
		background: var(--fundo-2);
		border: 0;
		border-left: 1px solid var(--borda);
		transform: translateX(100%);
		transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
		padding-top: 12px;
		overflow-y: auto;
		visibility: hidden;
	}
	.v2-nav.aberto { transform: none; visibility: visible; box-shadow: -20px 0 60px rgba(0, 0, 0, 0.5); }
	.v2-nav-dentro { width: auto; margin: 0; padding: 0 12px; }
	.v2-fechar-menu { margin-left: auto; }
	.v2-nav ul { flex-direction: column; overflow: visible; }
	.v2-nav a { padding: 14px 12px; font-size: 16px; border-radius: 10px; }
	.v2-nav a::after { display: none; }
	.v2-nav a.ativo, .v2-nav a:hover { background: var(--superficie); }
	.v2-nav li:last-child { margin-left: 0; }
	.v2-nav li:not(.v2-nav-atalho) + .v2-nav-atalho { margin-left: 0; padding-left: 0; border-left: 0; }
	.v2-fundo-menu { position: fixed; inset: 0; z-index: 45; background: rgba(0, 0, 0, 0.55); }
	/* backdrop-filter faria o menu "fixed" ficar preso dentro do cabeçalho */
	.v2-topo, html[data-tema="claro"] .v2-topo { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--fundo); }
	.v2-hero-lado, .v2-grade-3, .v2-grade-4, .v2-breves, .v2-bloco-grade, .v2-lateral { grid-template-columns: 1fr; }
	.v2-manchete { min-height: 420px; }
	.v2-manchete-texto { padding: 20px; }
	.v2-hero-item { grid-template-columns: 96px 1fr; }
	.v2-carrossel { aspect-ratio: auto; height: 460px; }
	.v2-carrossel-slide::after { background: linear-gradient(0deg, rgba(5, 13, 26, 0.95) 10%, rgba(5, 13, 26, 0.4) 60%, rgba(5, 13, 26, 0.1)); }
	.v2-carrossel-texto { padding: 20px 20px 64px; }
	/* Setas, pausa e tracinhos cabem na largura do card, com 8 slides ou mais: os tracinhos encolhem */
	.v2-carrossel-controles { left: 12px; right: 12px; gap: 6px; }
	.v2-carrossel-seta, .v2-carrossel-pausa { flex: none; }
	.v2-carrossel-pontos { flex: 1 1 auto; min-width: 0; justify-content: center; gap: 2px; }
	.v2-carrossel-pontos button { flex: 0 1 26px; width: auto; min-width: 12px; }
	.v2-carrossel-pontos span, .v2-carrossel-pontos .ativo span { width: calc(100% - 6px); max-width: 22px; }
	.v2-carrossel-pontos .ativo span { max-width: 26px; width: 100%; }
	/* Crédito da foto sobe para o canto de cima, fora do caminho dos controles */
	.v2-carrossel .v2-credito { top: 10px; left: 10px; right: auto; bottom: auto; max-width: calc(100% - 76px); }
	.v2-cta { flex-direction: column; align-items: flex-start; }
	.v2-cta .v2-botao { margin-left: 0; }
	.v2-rodape-grade { grid-template-columns: 1fr; gap: 24px; }
	.v2-secao-topo h2 { font-size: 19px; }
	.v2-secao-topo h2 small { display: none; }
	.v2-pagina-topo { align-items: start; }
	.v2-abas { overflow-x: auto; flex-wrap: nowrap; width: 100%; padding-bottom: 4px; }
	.v2-aba { flex: none; }
}
@media (max-width: 420px) {
	.v2-marca-texto span { display: none; }
	.v2-ticker-rotulo { padding: 0 10px; }
	.v2-lanc-cont { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.v2-ticker-trilho { animation: none; }
	.v2-js [data-revelar] { opacity: 1; transform: none; }
}
.v2-lanc-local { flex-wrap: nowrap; align-items: flex-start; }
.v2-lanc-local span { flex: 1; min-width: 0; }
.v2-busca-menu { display: none; }
@media (max-width: 760px) {
	.v2-nav .v2-busca-menu { display: flex; margin: 8px 0 12px; }
	.v2-nav .v2-busca-menu input { width: 100%; flex: 1; }
}

/* selo "NASA" no título do box da NASA */
.v2-selo-nasa { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #0b3d91; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25); flex: none; }
.v2-selo-nasa svg { width: 30px; height: 30px; }

/* ---------------------------------------------------------------- céu animado (canvas, desenhado em v2.js) */
.v2-ceu-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; z-index: 0; }
html[data-tema="claro"] .v2-ceu-canvas { opacity: 0.35; mix-blend-mode: multiply; filter: invert(1) hue-rotate(180deg); }
.v2-topo { overflow: hidden; }
.v2-topo > .v2-topo-linha, .v2-topo > .v2-ticker { position: relative; z-index: 1; }
.v2-topo > .v2-nav { position: relative; z-index: 1; }
@media (max-width: 760px) {
	/* no celular o menu é uma gaveta fixa: o cabeçalho não pode cortá-la nem prendê-la */
	.v2-topo { overflow: visible; }
	.v2-topo > .v2-nav { position: fixed; z-index: 60; }
	.v2-topo > .v2-ceu-canvas { overflow: hidden; }
}

.v2-masthead {
	position: relative;
	overflow: hidden;
	min-height: 190px;
	display: flex;
	align-items: center;
	background: linear-gradient(90deg, rgba(0, 10, 28, 0) 28%, rgba(0, 10, 28, 0.5) 68%, rgba(0, 8, 22, 0.82) 100%), linear-gradient(180deg, #001b38 0%, #002a54 60%, #003466 100%);
	border-bottom: 1px solid var(--borda);
}
html[data-tema="claro"] .v2-masthead { background: linear-gradient(180deg, #dce9f6, #f3f6fb); }
.v2-masthead-dentro { position: relative; z-index: 1; padding: 24px 0; }
.v2-masthead-marca { display: inline-flex; align-items: center; gap: 18px; color: #fff; }
html[data-tema="claro"] .v2-masthead-marca { color: var(--texto); }
.v2-masthead-marca:hover { color: inherit; }
.v2-masthead-marca svg { filter: drop-shadow(0 0 18px rgba(255, 155, 61, 0.65)); animation: v2-pulsar 5s ease-in-out infinite; }
@keyframes v2-pulsar { 50% { filter: drop-shadow(0 0 30px rgba(255, 155, 61, 0.95)); transform: scale(1.04) rotate(8deg); } }
.v2-masthead-marca > span { display: flex; flex-direction: column; line-height: 1; }
.v2-masthead-marca strong { font: 700 clamp(48px, 7vw, 76px)/0.95 var(--fonte-titulo); letter-spacing: 0.03em; text-shadow: 0 4px 30px rgba(0, 0, 0, 0.45); }
.v2-masthead-marca > span > span { margin-top: 8px; font: 600 clamp(13px, 1.6vw, 17px) var(--fonte); letter-spacing: 0.3em; text-transform: uppercase; color: var(--laranja); }
.v2-slogan { margin: 16px 0 0; max-width: 46ch; color: #d6e8f6; font-size: clamp(14px, 1.5vw, 17px); text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5); }
html[data-tema="claro"] .v2-slogan { color: var(--texto-2); text-shadow: none; }
.v2-masthead-data { display: inline-block; margin-top: 12px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--borda-forte); font-size: 12.5px; color: var(--texto-2); text-transform: capitalize; background: rgba(0, 0, 0, 0.18); }

/* na home, o cabeçalho fixo começa sem a marca e sem a data (já estão na faixa de céu) e mostra ao "colar" */
.v2-topo-home .v2-marca, .v2-topo-home .v2-data { opacity: 0; transform: translateY(-6px); transition: opacity 0.3s, transform 0.3s; pointer-events: none; }
.v2-topo-home.colado .v2-marca, .v2-topo-home.colado .v2-data { opacity: 1; transform: none; pointer-events: auto; }
@media (max-width: 760px) {
	.v2-masthead { min-height: 0; }
	.v2-masthead-dentro { padding: 22px 0; }
	.v2-masthead-marca { gap: 12px; }
	.v2-masthead-marca svg { width: 58px; height: 58px; }
	.v2-masthead-data { display: none; }
	.v2-topo-home .v2-marca { opacity: 1; transform: none; pointer-events: auto; }
}

/* Céu de hoje: ícones das fases e planetas, local */
.v2-widget-topo h2 small { font: 500 13px var(--fonte); color: var(--texto-2); margin-left: 2px; }
.v2-ceu-fases li { flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; }
.v2-ceu-fases li > div { display: flex; flex-direction: column; align-items: center; min-width: 0; line-height: 1.3; }
.v2-icone-fase { flex: none; filter: drop-shadow(0 0 4px rgba(255, 240, 210, 0.25)); }
.v2-ceu-planetas li { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px; border-radius: 10px; background: rgba(0, 0, 0, 0.12); }
html[data-tema="claro"] .v2-ceu-planetas li { background: rgba(0, 52, 102, 0.05); }
.v2-ceu-planetas li > div { display: flex; flex-direction: column; min-width: 0; }
.v2-icone-planeta { flex: none; filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.15)); }
.v2-ceu-rodape { margin: 12px 0 0; font-size: 11.5px; color: var(--texto-3); }
.v2-ceu-semana { display: flex; gap: 12px; align-items: center; margin: 14px 0 0; padding: 10px; border: 1px solid var(--borda, rgba(255,255,255,.12)); border-radius: 12px; color: inherit; text-decoration: none; transition: background .2s; }
.v2-ceu-semana:hover { background: rgba(136, 231, 255, .06); }
.v2-ceu-semana img { flex: none; width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }
.v2-ceu-semana span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-ceu-semana small { font-size: 11.5px; color: var(--laranja); text-transform: uppercase; letter-spacing: .04em; }
.v2-ceu-semana strong { font-size: 14px; line-height: 1.3; }
.v2-ceu-semana em { font-style: normal; font-size: 11.5px; color: var(--texto-3); }
/* Satélites mais brilhantes */
.v2-sats-tabela { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.v2-sats-tabela th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-3); font-weight: 600; padding: 4px 6px; }
.v2-sats-tabela td { padding: 6px; border-top: 1px solid var(--borda, rgba(255,255,255,.12)); }
.v2-sats-tabela td:nth-child(2) { overflow-wrap: anywhere; }
.v2-sats-tabela td:not(:nth-child(2)) { white-space: nowrap; }
.v2-sats-tabela a { color: inherit; text-decoration: none; }
.v2-sats-tabela a:hover { text-decoration: underline; text-underline-offset: 2px; }
.v2-sats-ico { vertical-align: -4px; margin-right: 5px; }
.v2-sats-iss td { color: #88c8ff; font-weight: 600; }
html[data-tema="claro"] .v2-sats-iss td { color: #0b5cad; }
.v2-sats-hst td { color: var(--laranja); font-weight: 600; }
.v2-sats-css td { color: #ff8a8a; font-weight: 600; }
html[data-tema="claro"] .v2-sats-css td { color: #c62828; }
/* "!" do pico: dica no hover e no clique/toque (o botão ganha foco) */
.v2-sats-ext svg { width: 12px; height: 12px; margin-left: 4px; vertical-align: -1px; opacity: .6; }
.v2-sats-tabela th .v2-sats-pico { margin-left: 3px; vertical-align: 1px; }
.v2-sats-pico { position: relative; width: 16px; height: 16px; font-size: 10px !important; text-transform: none; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: none; color: inherit; font: 700 12px/1 var(--fonte); cursor: help; opacity: .8; }
.v2-sats-pico:hover, .v2-sats-pico:focus-visible, .v2-sats-pico:focus { opacity: 1; outline: none; }
.v2-sats-pico::after { content: attr(data-dica); position: absolute; right: 50%; top: calc(100% + 6px); transform: translateX(50%); letter-spacing: 0; text-transform: none; z-index: 5; padding: 5px 9px; border-radius: 8px; background: #0b1726; color: #fff; font: 600 12px/1.3 var(--fonte); white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transition: opacity .15s; pointer-events: none; }
.v2-sats-pico:hover::after, .v2-sats-pico:focus::after { opacity: 1; visibility: visible; }
.v2-sats .v2-bloco-contagem { min-width: 9em; text-align: center; text-transform: capitalize; }
.v2-link-btn { display: inline; padding: 0; border: 0; background: none; color: var(--laranja); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.v2-link-btn:hover { color: var(--texto); }
.v2-link-btn[disabled] { opacity: 0.6; cursor: wait; }

/* lançamentos: assistir / ao vivo */
.v2-lanc-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.v2-lanc-acoes:empty { display: none; }
.v2-assistir { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #fff; color: #0b1a2e; font-weight: 700; font-size: 13px; transition: transform 0.2s, background 0.2s; }
.v2-assistir:hover { color: #fff; background: #ff0000; transform: translateY(-1px); }
.v2-play { display: inline-grid; place-items: center; color: #ff0000; line-height: 0; transition: color 0.2s; }
.v2-assistir:hover .v2-play { color: #fff; }
.v2-assistir-vivo { background: #e3241b; color: #fff; }
.v2-assistir-vivo .v2-play { color: #fff; }
.v2-assistir-vivo:hover { color: #fff; background: #b8140d; }
.v2-assistir-mini { width: 26px; height: 26px; padding: 0; justify-content: center; font-size: 11px; background: var(--superficie-2); color: var(--texto); border: 1px solid var(--borda-forte); }
.v2-assistir-mini .v2-play svg { width: 12px; height: 12px; }
.v2-assistir-mini:hover { color: #fff; background: #ff0000; border-color: #ff0000; }
.v2-ao-vivo { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; background: #e3241b; color: #fff; font: 700 11px var(--fonte); letter-spacing: 0.08em; }
.v2-ao-vivo .v2-pulso { width: 7px; height: 7px; background: #fff; }
.v2-lanc-dir { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.v2-lanc-lista .v2-ao-vivo { padding: 2px 7px; font-size: 10px; }
.v2-em-instantes { background: var(--laranja); color: #1a0d00; }

/* cabeçalho mais baixo: no computador, marca + menu + busca numa linha só */
@media (min-width: 761px) {
	.v2-topo-linha { display: none; }
	.v2-nav { border-top: 0; }
	.v2-nav-dentro { display: flex; align-items: center; gap: 12px; min-height: 56px; }
	.v2-nav-dentro > ul { flex: 1; min-width: 0; }
	.v2-nav li:last-child { margin-left: auto; }
	.v2-marca-nav .v2-marca-icone { width: 30px; height: 30px; }
	.v2-marca-nav .v2-marca-texto strong { font-size: 19px; }
	.v2-nav-acoes { display: flex; align-items: center; gap: 6px; flex: none; }
	.v2-nav-acoes .v2-busca input { width: 170px; }
	/* na home, a marca pequena só aparece quando a faixa de céu sai da tela */
	.v2-topo-home .v2-marca-nav { display: none; }
	.v2-topo-home.colado .v2-marca-nav { display: inline-flex; }
}
@media (min-width: 761px) and (max-width: 1100px) {
	.v2-nav-acoes .v2-busca input { width: 110px; }
}
@media (max-width: 760px) {
	.v2-marca-nav, .v2-nav-acoes { display: none; }
}
.v2-nav a.v2-marca-nav { display: inline-flex; align-items: center; gap: 8px; padding: 0 10px 0 0; color: var(--texto); flex: none; }
.v2-nav a.v2-marca-nav::after { display: none; }
@media (min-width: 761px) {
	.v2-topo-home .v2-nav a.v2-marca-nav { display: none; }
	.v2-topo-home.colado .v2-nav a.v2-marca-nav { display: inline-flex; }
}
@media (max-width: 760px) {
	.v2-nav a.v2-marca-nav { display: none; }
}

/* busca da barra do menu: só a lupa; o campo abre ao clicar */
@media (min-width: 761px) {
	.v2-nav-acoes .v2-busca { padding: 0; border-color: transparent; background: transparent; transition: background 0.25s, border-color 0.25s, padding 0.25s; }
	.v2-nav-acoes .v2-busca input { width: 0; padding: 0; opacity: 0; transition: width 0.3s ease, opacity 0.2s, padding 0.3s; }
	.v2-nav-acoes .v2-busca.aberta { padding: 2px 4px 2px 14px; background: var(--superficie); border-color: var(--borda-forte); }
	.v2-nav-acoes .v2-busca.aberta input { width: 200px; opacity: 1; }
}
@media (min-width: 761px) {
	.v2-nav-acoes { position: relative; }
	/* aberta, a busca fica por cima da barra (não empurra o menu); o espaço da lupa é mantido */
	.v2-nav-acoes:has(.v2-busca.aberta) { padding-left: 38px; }
	.v2-nav-acoes .v2-busca.aberta { position: absolute; right: 44px; top: 50%; transform: translateY(-50%); z-index: 5; box-shadow: var(--sombra); background: var(--fundo-2); }
}

/* selo de versão ao lado da marca */
.v2-versao { display: inline-block; margin-left: 4px; padding: 2px 7px; border-radius: 999px; border: 1px solid rgba(255, 155, 61, 0.55); color: var(--laranja); font: 700 10.5px/1.3 var(--fonte); letter-spacing: 0.04em; white-space: nowrap; align-self: center; }
.v2-versao-grande { margin-left: 6px; font-size: 12px; padding: 3px 10px; background: rgba(0, 0, 0, 0.2); align-self: flex-start; margin-top: 8px; }
.v2-rodape-base a { color: var(--texto-2); }
.v2-rodape-base a:hover { color: var(--laranja); }

/* ---------------------------------------------------------------- acervo 1999–2012 dentro da v2 */
.v2-migalhas { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--texto-3); margin-bottom: 14px; }
.v2-migalhas a { color: var(--texto-2); }
.v2-migalhas a:hover { color: var(--laranja); }
.v2-acervo { min-width: 0; }
.v2-acervo .atencao { padding: 14px 16px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--superficie); color: var(--texto-2); font-size: 14px; overflow-wrap: anywhere; }
.v2-acervo .atencao a { color: var(--laranja); }
.v2-acervo .titulo { font: 700 clamp(26px, 3vw, 34px)/1.15 var(--fonte-titulo); margin: 6px 0 18px; }
.v2-acervo .ed-faixa { display: flex; gap: 6px; overflow-x: auto; padding: 4px 2px 10px; margin-bottom: 18px; }
.v2-acervo .ed-faixa-ano { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 56px; padding: 8px 4px 6px; border-radius: 12px; border: 1px solid var(--borda); background: var(--superficie); color: var(--texto-2); transition: border-color 0.2s, transform 0.2s; }
.v2-acervo .ed-faixa-ano:hover { border-color: var(--laranja); transform: translateY(-2px); color: var(--texto); }
.v2-acervo .ed-faixa-ano.ativo { border-color: var(--laranja); background: rgba(255, 155, 61, 0.14); color: var(--texto); }
.v2-acervo .ed-mini { display: flex; align-items: flex-end; gap: 2px; height: 34px; }
.v2-acervo .ed-mini-barra { width: 7px; border-radius: 2px; background: linear-gradient(to top, var(--azul), var(--ciano)); min-height: 2px; }
.v2-acervo .ed-faixa-ano.ativo .ed-mini-barra { background: linear-gradient(to top, var(--laranja-2), #ffd29a); }
.v2-acervo .ed-faixa-rotulo { font: 700 12.5px var(--fonte-titulo); }
.v2-acervo .ed-ano-topo { display: flex; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--borda); margin-bottom: 14px; }
.v2-acervo .ed-ano-num { font: 700 40px/1 var(--fonte-titulo); color: transparent; -webkit-text-stroke: 1px var(--laranja); }
.v2-acervo .ed-ano-resumo { color: var(--texto-2); font-size: 14px; }
.v2-acervo .ed-mes { margin-bottom: 18px; }
.v2-acervo .ed-mes-nome { font: 700 12px var(--fonte); text-transform: uppercase; letter-spacing: 0.12em; color: var(--texto-3); margin-bottom: 8px; }
.v2-acervo .ed-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; }
.v2-acervo .ed-tile { display: flex; flex-direction: column; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borda); background: var(--superficie); transition: transform 0.2s, border-color 0.2s; }
.v2-acervo .ed-tile:hover { transform: translateY(-3px); border-color: var(--laranja); color: var(--texto); }
.v2-acervo .ed-tile-num { font: 700 17px var(--fonte-titulo); }
.v2-acervo .ed-tile-info { font-size: 12px; color: var(--texto-3); }
.v2-acervo .edn-topo { padding: 22px 24px; border-radius: calc(var(--raio) + 4px); margin-bottom: 22px; background: linear-gradient(120deg, rgba(255, 155, 61, 0.16), rgba(85, 173, 219, 0.1)), var(--superficie); border: 1px solid var(--borda-forte); }
.v2-acervo .edn-rotulo { font: 700 12px var(--fonte); text-transform: uppercase; letter-spacing: 0.14em; color: var(--laranja); }
.v2-acervo .edn-num { font: 700 clamp(30px, 4vw, 44px)/1.1 var(--fonte-titulo); margin: 6px 0; }
.v2-acervo .edn-periodo, .v2-acervo .edn-resumo { color: var(--texto-2); font-size: 14px; }
.v2-acervo .edn-secao { margin-bottom: 22px; }
.v2-acervo .edn-secao-nome { display: flex; align-items: center; gap: 10px; font-size: 19px; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--borda); }
.v2-acervo .edn-secao-qtd { font: 700 11.5px var(--fonte); padding: 2px 8px; border-radius: 999px; background: var(--superficie-2); color: var(--texto-2); }
.v2-acervo .edn-lista { list-style: none; margin: 0; padding: 0; }
.v2-acervo .edn-lista a { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 10px 8px; border-radius: 10px; transition: background 0.2s; }
.v2-acervo .edn-lista a:hover { background: var(--superficie); color: var(--texto); }
.v2-acervo .edn-data { font-size: 12.5px; color: var(--laranja); font-variant-numeric: tabular-nums; padding-top: 2px; }
.v2-acervo .edn-titulo { font-weight: 600; line-height: 1.35; }
.v2-acervo .edn-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--borda); font-weight: 600; font-size: 14px; }
.v2-acervo .edn-nav a { color: var(--laranja); }
.v2-acervo .edn-indice { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--borda-forte); }
.v2-acervo #mostra_noticia { padding: 24px; border-radius: calc(var(--raio) + 4px); background: var(--superficie); border: 1px solid var(--borda); }
.v2-acervo #info { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; color: var(--texto-3); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.v2-acervo #categoria { color: var(--laranja); }
.v2-acervo #titulo_noticia { font: 700 clamp(24px, 3vw, 34px)/1.2 var(--fonte-titulo); margin: 12px 0 16px; }
.v2-acervo #titulo_noticia br { display: none; }
.v2-acervo .data-noticia { display: block; margin-top: 8px; font: 500 14px var(--fonte); color: var(--texto-2); }
.v2-acervo #noticia { font-size: 17px; line-height: 1.75; color: var(--texto); overflow-wrap: anywhere; }
.v2-acervo #noticia a { color: var(--ciano); text-decoration: underline; text-underline-offset: 2px; }
.v2-acervo #noticia img { height: auto; border-radius: 10px; }
.v2-acervo #fonte { margin-top: 16px; font-size: 13.5px; color: var(--texto-2); font-style: italic; overflow-wrap: anywhere; }
.v2-acervo #voltar a { display: inline-flex; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--borda-forte); color: var(--laranja); font-weight: 600; font-size: 14px; }
.v2-acervo #info2 { font-size: 13px; color: var(--texto-3); border-top: 1px solid var(--borda); padding-top: 12px; }
.v2-acervo .lista-noticias { list-style: none; padding: 0; margin: 0; }
.v2-acervo .lista-noticias li { padding: 12px 4px; border-bottom: 1px solid var(--borda); }
.v2-acervo .lista-noticias .data { font-size: 12.5px; color: var(--texto-3); }
.v2-acervo .lista-noticias a { font-weight: 600; }
.v2-acervo .paginacao { text-align: center; margin: 18px 0; font-weight: 600; }
.v2-acervo .paginacao a { color: var(--laranja); }
@media (max-width: 760px) {
	.v2-acervo .edn-lista a { grid-template-columns: 1fr; gap: 2px; }
	.v2-acervo #mostra_noticia { padding: 16px; }
	.v2-acervo #noticia { font-size: 16px; }
	.v2-versao-grande { display: none; }
}

/* ---------------------------------------------------------------- celular: atalhos, home com céu, ordem dos widgets */
.v2-atalho, .v2-mast-acoes { display: none; }
@media (max-width: 760px) {
	.v2-atalho { display: grid; width: 42px; height: 42px; }
	.v2-topo-acoes .v2-icone-btn { width: 42px; height: 42px; }
	.v2-topo-acoes { gap: 2px; }

	/* home: enquanto a faixa de céu aparece, só os ícones flutuam sobre ela */
	.v2-mast-acoes { display: flex; gap: 6px; position: absolute; top: 12px; right: 12px; z-index: 3; }
	.v2-mast-acoes .v2-icone-btn {
		display: grid;
		width: 42px;
		height: 42px;
		color: #fff;
		background: rgba(0, 20, 45, 0.45);
		border: 1px solid rgba(255, 255, 255, 0.18);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}
	html[data-tema="claro"] .v2-mast-acoes .v2-icone-btn { color: var(--texto); background: rgba(255, 255, 255, 0.7); border-color: var(--borda); }
	.v2-masthead-dentro { padding-top: 14px; }
	/* a barra fixa completa só aparece quando o céu sai da tela */
	.v2-topo-home { position: fixed; left: 0; right: 0; top: 0; transform: translateY(-110%); transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1); }
	.v2-topo-home.colado { transform: none; }
	.v2-topo-home .v2-nav { transform: none; }

	/* home: os widgets (Céu, Lançamentos, Foto) depois dos blocos de notícias, logo antes de "Direto da NASA" */
	.v2-colunas-home { display: flex; flex-direction: column; gap: 0; }
	.v2-colunas-home > .v2-principal { display: contents; }
	.v2-colunas-home > .v2-principal > * { order: 1; }
	.v2-colunas-home > .v2-lateral { order: 2; margin-bottom: 44px; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
	.v2-topo-home { transition: none; }
}
@media (max-width: 760px) {
	/* com o menu aberto, a barra não pode estar deslocada (o transform prenderia a gaveta) */
	body.v2-menu-aberto .v2-topo-home { transform: none; transition: none; }
}

/* marca BSN em Share Tech (logo, nome e selo de versão) */
:root { --fonte-marca: "Share Tech", "Space Grotesk", system-ui, sans-serif; }
.v2-marca-texto strong, .v2-marca-texto span, .v2-masthead-marca strong, .v2-masthead-marca > span > span, .v2-versao { font-family: var(--fonte-marca) !important; }
.v2-marca-texto strong, .v2-masthead-marca strong { font-weight: 400 !important; letter-spacing: 0.06em; }
/* Share Tech só tem peso normal: o contorno da cor do texto engrossa o "BSN" sem negrito sintético (cabeçalho grande, barra fixa e menu) */
.v2-marca-texto strong, .v2-masthead-marca strong { -webkit-text-stroke: 0.04em currentColor; paint-order: stroke fill; }
.v2-marca-texto strong .v2-versao, .v2-masthead-marca strong .v2-versao { -webkit-text-stroke: 0; }
.v2-masthead-marca > .v2-versao { display: inline-block; flex-direction: row; }

/* ajustes da marca: rótulo de versão simples, "Boletim Supernovas" maior, galáxia com as cores originais no tema claro */
.v2-versao {
	display: inline-block;
	margin: 0 0 0 4px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--laranja);
	font: 400 11px/1 var(--fonte-marca) !important;
	letter-spacing: 0.04em;
	vertical-align: baseline;
	opacity: 0.9;
}
.v2-masthead-marca strong .v2-versao { font-size: clamp(13px, 1.4vw, 16px) !important; margin-left: 6px; text-shadow: none; }
.v2-masthead-marca > span > span { font-size: clamp(16px, 2.2vw, 24px) !important; letter-spacing: 0.22em; margin-top: 10px; }
@media (max-width: 760px) {
	/* logo menor, no canto superior esquerdo, sem passar por baixo dos botões do topo */
	.v2-masthead-dentro { padding-bottom: 12px; }
	.v2-masthead-marca { gap: 10px; }
	.v2-masthead-marca svg { width: 40px; height: 40px; }
	.v2-masthead-marca strong { font-size: 36px; }
	.v2-masthead-marca strong .v2-versao { font-size: 11px !important; margin-left: 4px; }
	.v2-masthead-marca > span > span { font-size: 11px !important; letter-spacing: 0.12em; margin-top: 5px; }
	.v2-slogan { margin-top: 12px; }
}
/* tema claro: a faixa de céu continua escura (céu de verdade) e a galáxia mantém as cores */
html[data-tema="claro"] .v2-ceu-canvas { opacity: 1; mix-blend-mode: normal; filter: none; }
html[data-tema="claro"] .v2-masthead { background: linear-gradient(90deg, rgba(0, 10, 28, 0) 28%, rgba(0, 10, 28, 0.5) 68%, rgba(0, 8, 22, 0.82) 100%), linear-gradient(180deg, #001b38 0%, #002a54 60%, #003466 100%); }
html[data-tema="claro"] .v2-masthead-marca { color: #fff; }
html[data-tema="claro"] .v2-slogan { color: #d6e8f6; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5); }
html[data-tema="claro"] .v2-masthead-data { color: #c3dbee; }
/* na barra clara, as estrelas brancas não aparecem: some o canvas só ali */
html[data-tema="claro"] .v2-topo > .v2-ceu-canvas { display: none; }

/* desempenho ao rolar: sem fundo "fixed" (repintava a tela inteira a cada rolagem) e sem blur na barra fixa */
body { background-attachment: scroll; }
.v2-topo { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(0, 38, 76, 0.97); }
html[data-tema="claro"] .v2-topo { background: rgba(255, 255, 255, 0.98); }
.v2-mast-acoes .v2-icone-btn { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(0, 20, 45, 0.6); }
/* seções abaixo da dobra só são desenhadas quando chegam perto da tela */
.v2-ceu-canvas { contain: strict; }

/* /v2/edicoes/: faixa de anos como UM gráfico contínuo (sem caixas separadas e sem rolagem lateral) */
.v2-acervo .ed-faixa {
	display: flex;
	gap: 0;
	overflow: visible;
	padding: 14px 12px 8px;
	border-radius: var(--raio);
	border: 1px solid var(--borda);
	background: var(--superficie);
}
.v2-acervo .ed-faixa-ano {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	gap: 6px;
	padding: 0 1px;
	border: 0;
	border-radius: 0;
	background: none;
	transform: none !important;
}
.v2-acervo .ed-faixa-ano:hover { background: rgba(255, 255, 255, 0.05); }
.v2-acervo .ed-faixa-ano:focus-visible { outline: 2px solid var(--laranja); outline-offset: 2px; }
.v2-acervo .ed-mini { display: flex; align-items: flex-end; gap: 1px; width: 100%; height: 90px; }
.v2-acervo .ed-mini-barra { flex: 1 1 0; width: auto; min-width: 0; border-radius: 2px 2px 0 0; }
/* anos alternados: azul claro / azul escuro */
.v2-acervo .ed-faixa-ano:nth-child(odd) .ed-mini-barra { background: linear-gradient(to top, #4fb3e0, #9fe9ff); }
.v2-acervo .ed-faixa-ano:nth-child(even) .ed-mini-barra { background: linear-gradient(to top, #1e6a9c, #3d93c6); }
.v2-acervo .ed-faixa-ano.ativo .ed-mini-barra { background: linear-gradient(to top, var(--laranja-2), #ffd29a); }
.v2-acervo .ed-faixa-ano.ativo { background: rgba(255, 155, 61, 0.1); }
.v2-acervo .ed-faixa-rotulo { font-size: 12px; color: var(--texto-3); }
.v2-acervo .ed-faixa-ano.ativo .ed-faixa-rotulo { color: var(--laranja); }

/* Livros na prateleira: cada barra é a lombada de um livro (um trimestre), com faixas, sombra e texto vertical */
.v2-acervo .ed-mini {
	height: 110px;
	gap: 2px;
	padding: 0 1px;
	/* tábua da prateleira */
	border-bottom: 4px solid #4a3524;
	box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.55);
}
.v2-acervo .ed-mini-barra {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 6px;
	overflow: hidden;
	border-radius: 3px 3px 0 0;
	/* volume: luz na borda esquerda, sombra na direita e sombra projetada no livro vizinho */
	box-shadow: inset 1.5px 0 0 rgba(255, 255, 255, 0.35), inset -2px 0 3px rgba(0, 0, 0, 0.3), 1px 0 2px rgba(0, 0, 0, 0.5);
}
.v2-acervo .ed-lombada {
	display: block;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font: 700 8px/1 var(--fonte);
	letter-spacing: 0.03em;
	white-space: nowrap;
	color: #fff;
	text-shadow: 0 0 2px rgba(0, 20, 45, 0.9), 0 1px 1px rgba(0, 20, 45, 0.7);
	pointer-events: none;
}
/* estante com 2 andares: 7 anos por prateleira, livros mais largos */
.v2-acervo .ed-faixa { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 14px; }
.v2-acervo .ed-mini { height: 100px; gap: 3px; }
.v2-acervo .ed-lombada { font-size: 9px; }
@media (max-width: 760px) {
	.v2-acervo .ed-faixa { row-gap: 10px; }
	.v2-acervo .ed-mini { height: 70px; gap: 2px; }
	.v2-acervo .ed-lombada { font-size: 7.5px; }
}
@media (max-width: 420px) {
	.v2-acervo .ed-lombada { display: none; }
}
@media (max-width: 760px) {
	.v2-acervo .ed-faixa { padding: 10px 6px 6px; }
	.v2-acervo .ed-mini { border-bottom-width: 3px; }
	.v2-acervo .ed-faixa-ano { padding: 0 0.5px; }
	/* rótulo curto no celular: '99, '00 … '12 */
	.v2-acervo .ed-faixa-rotulo { font-size: 9.5px; letter-spacing: -0.02em; }
}

/* home: o destaque grande é o mesmo carrossel das abas, ocupando a coluna da esquerda do topo */
.v2-hero-destaque { min-width: 0; }
.v2-hero-destaque .v2-carrossel { aspect-ratio: auto; height: 100%; min-height: 460px; margin: 0; }
.v2-hero-destaque .v2-carrossel-texto h1, .v2-hero-destaque .v2-carrossel-texto h2 { font-size: clamp(24px, 2.8vw, 38px); line-height: 1.12; text-wrap: balance; transform: translateY(12px); opacity: 0; transition: transform 0.7s 0.15s, opacity 0.7s 0.15s; }
.v2-carrossel-slide.ativo .v2-carrossel-texto h1, .v2-hero-destaque .v2-carrossel-slide.ativo .v2-carrossel-texto h2 { transform: none; opacity: 1; }
.v2-hero-destaque .v2-carrossel-texto h1 a:hover, .v2-hero-destaque .v2-carrossel-texto h2 a:hover { color: var(--laranja); }
/* notícia sem foto: fundo de céu no lugar da imagem */
.v2-sem-foto { display: block; background: radial-gradient(600px 300px at 70% 30%, rgba(136, 231, 255, 0.25), transparent 60%), radial-gradient(400px 260px at 20% 80%, rgba(255, 155, 61, 0.2), transparent 60%), linear-gradient(160deg, #002a54, #003466 55%, #006699); }
/* Hero: slide sem foto com 2 notícias recentes, no fundo da cor da categoria */
.v2-slide-par { --cor-par: var(--ciano); }
.v2-par-astronautica { --cor-par: #ff9b3d; }
.v2-par-astrofisica { --cor-par: #b99bff; }
.v2-par-newspace { --cor-par: #ff8fc8; }
.v2-par-educacao { --cor-par: #7fdc9a; }
.v2-slide-par .v2-sem-foto { background: radial-gradient(700px 360px at 80% 20%, color-mix(in srgb, var(--cor-par) 42%, transparent), transparent 65%), radial-gradient(500px 300px at 10% 90%, color-mix(in srgb, var(--cor-par) 22%, transparent), transparent 60%), linear-gradient(160deg, #04182f, #002a54 60%, color-mix(in srgb, var(--cor-par) 30%, #002a54)); }
.v2-slide-par::after { background: linear-gradient(0deg, rgba(5, 13, 26, 0.55), transparent 60%); }
.v2-slide-par .v2-carrossel-texto { width: min(760px, 100%); }
.v2-par-rotulo { display: inline-block; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cor-par); }
.v2-par-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.v2-par-lista li { padding-left: 14px; border-left: 3px solid var(--cor-par); }
.v2-par-lista h1, .v2-par-lista h2 { font-size: clamp(19px, 2.1vw, 28px); line-height: 1.15; margin: 6px 0 0; text-wrap: balance; transform: translateY(12px); opacity: 0; transition: transform 0.7s 0.15s, opacity 0.7s 0.15s; }
.v2-carrossel-slide.ativo .v2-par-lista h1, .v2-carrossel-slide.ativo .v2-par-lista h2 { transform: none; opacity: 1; }
.v2-par-lista a:hover { color: var(--cor-par); }
@media (max-width: 760px) {
	.v2-hero-destaque .v2-carrossel { min-height: 0; height: 460px; }
}

/* home: card da coluna ao lado que está ampliado no destaque */
.v2-hero-item.ampliado { border-color: var(--laranja); background: var(--superficie-2); box-shadow: inset 3px 0 0 var(--laranja); }

/* setas do carrossel (home e abas): só a seta, sem círculo; sombra para ler sobre a foto */
.v2-carrossel-seta { width: 40px; height: 40px; border: 0; border-radius: 0; background: none; color: #fff; font-size: 34px; line-height: 1; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 0 12px rgba(0, 0, 0, 0.6); }
.v2-carrossel-seta:hover { background: none; color: var(--laranja); }
.v2-carrossel-pausa { width: 32px; height: 32px; margin-left: 2px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; display: grid; place-items: center; transition: color 0.2s; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.8)); }
.v2-carrossel-pausa svg { width: 18px; height: 18px; fill: currentColor; }
.v2-carrossel-pausa:hover { color: var(--laranja); }
.v2-carrossel-pausa:focus-visible { outline: 2px solid var(--laranja); outline-offset: 0; border-radius: 6px; }
.v2-carrossel-pausa .v2-play-ico, .v2-carrossel.parado .v2-pausa-ico { display: none; }
.v2-carrossel.parado .v2-play-ico { display: block; }
.v2-carrossel-seta:focus-visible { outline: 2px solid var(--laranja); outline-offset: 0; border-radius: 6px; }

/* /v2/fontes/ (página só do administrador) */
.v2-fontes-wrap { overflow-x: auto; margin-top: 12px; }
.v2-fontes { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2-fontes th, .v2-fontes td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--borda); vertical-align: top; }
.v2-fontes th { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--texto-3); }
.v2-fontes-host { font-size: 12px; color: var(--texto-3); }
.v2-fontes-sit { font-weight: 700; }
.v2-fontes-ok { color: #7ee0a3; }
.v2-fontes-erro { color: #ff8f8f; }
.v2-fontes-aguardando { color: var(--texto-3); }

/* janela estreita (desktop): "Foguetes" e "Céu de hoje" ficam só com o ícone (o texto segue para leitor de tela e tooltip)
   e o menu aperta o espaçamento, para o "Acervo" não ser cortado */
@media (min-width: 761px) and (max-width: 1320px) {
	.v2-nav .v2-nav-rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.v2-nav .v2-nav-atalho a { padding-inline: 10px; }
	.v2-nav .v2-nav-atalho a svg { width: 20px; height: 20px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
	.v2-nav ul { gap: 0; }
	.v2-nav a { padding-inline: 9px; }
	.v2-nav a::after { left: 9px; right: 9px; }
}

/* tema claro: o rodapé tem fundo claro (o escuro fixo deixava os textos escuros ilegíveis) */
html[data-tema="claro"] .v2-rodape { background: var(--fundo-2); border-top-color: var(--borda-forte); }
html[data-tema="claro"] .v2-rodape h2 { color: var(--texto-2); }
html[data-tema="claro"] .v2-rodape p, html[data-tema="claro"] .v2-rodape ul a, html[data-tema="claro"] .v2-rodape-base a { color: var(--texto-2); }
html[data-tema="claro"] .v2-rodape-base { color: var(--texto-2); border-top-color: var(--borda-forte); }
html[data-tema="claro"] .v2-rodape ul a:hover, html[data-tema="claro"] .v2-rodape-base a:hover { color: var(--laranja-2); }

/* ---- Calendário astronômico (/v2/efemerides/) ---- */
.v2-efem-pag { display: none; }
@media (max-width: 760px) {
	.v2-efem-pag { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--borda); }
	.v2-efem-pag span { font: 700 12px var(--fonte); text-transform: uppercase; letter-spacing: 0.1em; color: var(--texto-2); }
	.v2-efem-pag button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--borda); border-radius: 50%; background: none; color: var(--ciano); cursor: pointer; }
	.v2-efem-pag button svg { width: 16px; height: 16px; }
	.v2-efem-pag button[data-efem-pag="0"] svg { transform: scaleX(-1); }
	.v2-efem:not([data-pag="1"]) .v2-efem-lista li[data-p="1"], .v2-efem[data-pag="1"] .v2-efem-lista li[data-p="0"] { display: none; }
	.v2-efem:not([data-pag="1"]) [data-efem-pag="0"], .v2-efem[data-pag="1"] [data-efem-pag="1"] { opacity: 0.3; pointer-events: none; }
}
.v2-efem-abrir { flex: none; width: 36px; height: 36px; display: grid; place-items: center; color: var(--laranja); }
.v2-efem-ano { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--ciano); }
.v2-efem-ano svg { width: 14px; height: 14px; }
.v2-cal-resumo { margin: 6px 0 0; color: var(--texto-2); font-size: 14px; }
.v2-cal-anos { display: flex; flex-wrap: wrap; gap: 6px; }
.v2-cal-anos a { padding: 5px 11px; border-radius: 999px; border: 1px solid var(--borda); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--texto-2); }
.v2-cal-anos a.ativo { background: var(--ciano); border-color: var(--ciano); color: #04121f; }
.v2-cal-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.v2-cal-filtro { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 6px; border-radius: 999px; border: 1px solid var(--borda); background: transparent; color: var(--texto-2); font: 600 13px var(--fonte); cursor: pointer; }
.v2-cal-filtro .v2-efem-icones { margin: 0; order: 0; }
.v2-cal-filtro .v2-efem-icones svg { width: 22px; height: 22px; }
.v2-cal-filtro[aria-pressed="true"] { background: rgba(136, 231, 255, 0.14); border-color: var(--ciano); color: var(--texto); }
.v2-cal { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 22px; }
.v2-cal-mes { position: relative; overflow: hidden; background: var(--superficie); border: 1px solid var(--borda); border-radius: calc(var(--raio) + 2px); padding: 16px; min-width: 0; }
.v2-cal-mes h2 { font-size: 18px; text-transform: capitalize; margin: 0 0 10px; }
.v2-cal-semana, .v2-cal-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.v2-cal-semana li { text-align: center; font: 700 10.5px var(--fonte); letter-spacing: 0.08em; color: var(--texto-3); padding-bottom: 4px; }
.v2-cal-dia, .v2-cal-vazio { min-height: 52px; }
.v2-cal-dia { border-radius: 8px; padding: 3px 4px; display: flex; flex-direction: column; align-items: center; gap: 1px; border: 1px solid transparent; }
.v2-cal-dia b { font: 600 11.5px var(--fonte); color: var(--texto-3); align-self: flex-start; }
.v2-cal-dia.tem { background: rgba(136, 231, 255, 0.07); border-color: var(--borda); }
.v2-cal-dia.tem b { color: var(--texto); }
.v2-cal-dia.hoje { border-color: var(--ciano); box-shadow: 0 0 0 1px var(--ciano) inset; }
.v2-cal-ev { display: flex; justify-content: center; }
.v2-cal-ev[hidden], .v2-cal-lista li[hidden] { display: none; }
.v2-cal-ev .v2-efem-icones { margin: 0; order: 0; }
.v2-cal-ev .v2-efem-icones svg { width: 18px; height: 18px; }
.v2-cal-ev .v2-efem-icones svg + svg { margin-left: -5px; }
.v2-cal-lista { margin-top: 12px; }
.v2-cal-lista li { padding: 8px 2px; }
.v2-cal-nada { color: var(--texto-3); font-size: 13px; }
.v2-cal-credito { text-align: left; margin-top: 28px; }
.v2-cal-dia.tem, .v2-cal-lista li[data-dia] { cursor: pointer; }
.v2-cal-dia.sel { background: rgba(255, 159, 67, 0.22); border-color: var(--laranja); box-shadow: 0 0 0 1px var(--laranja) inset; }
.v2-cal-lista li.sel { background: rgba(255, 159, 67, 0.14); box-shadow: inset 3px 0 0 var(--laranja); border-radius: 6px; padding-left: 12px; padding-right: 8px; }
.v2-cal-mes { scroll-margin-top: calc(var(--v2-topo-h, 64px) + 100px); }
/* anos e meses num pill só, em 2 linhas, travado abaixo do topo */
.v2-cal-fixo { position: sticky; top: calc(var(--v2-topo-h, 64px) + 8px); z-index: 40; display: flex; flex-direction: column; gap: 4px; margin: 0 0 18px; padding: 8px 10px; background: var(--superficie); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--borda); border-radius: 22px; }
.v2-cal-fixo .v2-cal-anos { display: flex; flex-wrap: nowrap; gap: 4px; padding-bottom: 4px; border-bottom: 1px solid var(--borda); }
.v2-cal-fixo .v2-cal-anos a { flex: 1; text-align: center; padding: 4px 0; border: 0; border-radius: 999px; font: 700 12.5px var(--fonte); letter-spacing: 0.04em; color: var(--texto-2); }
.v2-cal-fixo .v2-cal-anos a:hover, .v2-cal-fixo .v2-cal-anos a.ativo { background: var(--ciano); color: #04121f; }
.v2-cal-meses { display: flex; justify-content: space-between; gap: 4px; }
.v2-cal-meses a { flex: 1; text-align: center; padding: 4px 0; border-radius: 999px; font: 700 12.5px var(--fonte); letter-spacing: 0.06em; color: var(--texto-2); }
.v2-cal-meses a:hover, .v2-cal-meses a.ativo { background: var(--ciano); color: #04121f; }
.v2-cal-fixo .curto { display: none; }
@media (max-width: 760px) {
	.v2-cal-mes { scroll-margin-top: calc(var(--v2-topo-h, 56px) + 10px); }
	/* coluna fixa à direita com anos (26, 27…) e meses (J, F…); encolhe para caber na altura da tela */
	.v2-cal-fixo { position: fixed; top: calc(var(--v2-topo-h, 56px) + 8px); right: 2px; max-height: calc(100vh - var(--v2-topo-h, 56px) - 16px); max-height: calc(100dvh - var(--v2-topo-h, 56px) - 16px); width: 28px; margin: 0; padding: 4px 2px; gap: 4px; border-radius: 14px; }
	.v2-cal-fixo .v2-cal-anos, .v2-cal-meses { flex-direction: column; flex-wrap: nowrap; gap: 1px; min-height: 0; }
	.v2-cal-fixo .v2-cal-anos { flex: 10 1 auto; }
	.v2-cal-meses { flex: 12 1 auto; }
	.v2-cal-fixo .v2-cal-anos a, .v2-cal-meses a { flex: 0 1 22px; min-height: 0; display: flex; align-items: center; justify-content: center; width: 24px; padding: 0; font-size: 10.5px; letter-spacing: 0; overflow: hidden; }
	.v2-cal-fixo .longo { display: none; }
	.v2-cal-fixo .curto { display: inline; }
	.v2-cal { padding-right: 24px; }
}
@media (max-width: 480px) {
	.v2-cal { grid-template-columns: 1fr; gap: 16px; }
	.v2-cal-dia, .v2-cal-vazio { min-height: 46px; }
}

/* ---------- mapa do céu (public/v2/mapa.js) */
.v2-mapa { position: relative; display: block; margin-top: 8px; border-radius: 12px; overflow: hidden; border: 1px solid var(--borda-forte); background: #020409; color: #fff; }
.v2-mapa canvas { display: block; width: 100%; aspect-ratio: 4 / 3; }
.v2-mapa-hud { position: absolute; left: 8px; top: 6px; display: flex; flex-direction: column; gap: 1px; font-size: 11px; line-height: 1.3; color: #fff; text-shadow: 0 1px 3px #000, 0 0 6px #000; pointer-events: none; font-variant-numeric: tabular-nums; }
.v2-mapa-hud b { font-weight: 700; }
.v2-mapa-ampliar { position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(6, 16, 31, 0.78); border: 1px solid var(--borda-forte); font-size: 12px; font-weight: 600; }
.v2-mapa-ampliar svg { width: 14px; height: 14px; }
.v2-mapa-ampliar { color: #fff; }
.v2-mapa-ampliar:hover, .v2-mapa-ampliar:focus-visible { border-color: var(--laranja); color: var(--laranja); }
.v2-mapa canvas { cursor: grab; touch-action: none; outline-offset: -2px; }
.v2-mapa canvas:active { cursor: grabbing; }
.v2-mapa-zoom { position: absolute; right: 8px; top: 8px; display: flex; flex-direction: column; gap: 4px; }
.v2-mapa-zoom button { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--borda-forte); background: rgba(6, 16, 31, 0.78); color: #fff; font: 600 17px/1 var(--fonte-titulo, sans-serif); cursor: pointer; }
.v2-mapa-zoom button:hover { border-color: var(--laranja); color: var(--laranja); }
.v2-mapa-cheio { margin: 0 0 12px; border: 0; background: transparent; overflow: visible; }
.v2-mapa-cheio .v2-mapa-tela { position: relative; border-radius: 14px; overflow: hidden; border: 1px solid var(--borda-forte); background: #020409; }
.v2-mapa-cheio canvas { aspect-ratio: auto; height: clamp(380px, 74vh, 820px); cursor: grab; touch-action: none; outline-offset: -2px; }
.v2-mapa-cheio canvas:active { cursor: grabbing; }
.v2-mapa-cheio .v2-mapa-hud { font-size: 13px; left: 12px; top: 10px; }
/* relógio do mapa: escolhe a data e a hora do céu (canto inferior esquerdo, por cima do canvas) */
/* canto inferior esquerdo: botões de direção e zoom (coluna, redondos, sem caixa) e, embaixo, o relógio */
.v2-mapa-esq { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; max-width: calc(100% - 90px); }
.v2-mapa-nav { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.v2-mapa-nav button { width: 32px; height: 32px; padding: 0; border-radius: 50%; border: 1px solid var(--borda-forte); background: rgba(6, 16, 31, 0.78); color: #fff; font: 700 13px/1 Inter, system-ui, sans-serif; cursor: pointer; }
.v2-mapa-nav button:hover, .v2-mapa-nav button:focus-visible { border-color: var(--laranja); color: var(--laranja); outline: none; }
.v2-mapa-nav .v2-mapa-nav-zoom { margin-top: 6px; font-size: 17px; }
.v2-mapa-nav button[data-mapa-zoom] { width: 48px; height: 48px; font-size: 25px; }
.v2-mapa-tempo { display: flex; flex-direction: column; gap: 6px; max-width: 100%; }
.v2-mapa-tempo-linha { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.v2-mapa-slider { display: flex; align-items: center; gap: 8px; padding: 0 2px; font: 600 11px/1 Inter, system-ui, sans-serif; color: #cfe6ff; text-shadow: 0 1px 3px #000; }
.v2-mapa-tempo .v2-mapa-slider input { flex: 1; min-width: 0; height: 18px; padding: 0; border: 0; background: transparent; accent-color: var(--laranja); cursor: pointer; }
.v2-mapa-tempo button[data-mapa-play] { min-width: 34px; font-size: 11px; }
.v2-mapa-tempo input, .v2-mapa-tempo button { height: 30px; padding: 0 8px; border-radius: 8px; border: 1px solid var(--borda-forte); background: rgba(6, 16, 31, 0.82); color: #fff; font: 600 13px/1 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; color-scheme: dark; }
.v2-mapa-tempo button { cursor: pointer; opacity: 0.6; }
.v2-mapa-tempo button.ativo { opacity: 1; border-color: var(--laranja); color: var(--laranja); }
.v2-mapa-tempo input:focus-visible, .v2-mapa-tempo button:hover { border-color: var(--laranja); outline: none; }
.v2-mapa-barra { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 12px; align-items: center; }
.v2-mapa-grupo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--texto-2); }
.v2-mapa-grupo button { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); font: inherit; cursor: pointer; }
.v2-mapa-grupo button:hover { border-color: var(--laranja); color: var(--laranja); }
.v2-mapa-grupo label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.v2-mapa-local { margin: 10px 0 0; font-size: 12.5px; color: var(--texto-3); }

/* modo admin: botões de editar categoria / apagar (só aparecem com a chave; ver src/admin.js) */
.v2-hero-item[data-nid] { position: relative; } /* card e slide do carrossel já são posicionados; não mexer no "absolute" do slide */
.v2-adm { position: absolute; top: 8px; right: 8px; z-index: 30; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: 12px; }
.v2-adm select, .v2-adm button { font: 600 12px var(--fonte); color: #fff; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px; padding: 4px 8px; cursor: pointer; max-width: 150px; }
.v2-adm select option { color: #000; }
.v2-adm-painel { display: flex; gap: 6px; align-items: center; }
.v2-adm-painel[hidden] { display: none; }
.v2-adm .v2-adm-editar { display: grid; place-items: center; width: 30px; height: 24px; padding: 0; border: 0; border-radius: 999px; background: var(--laranja); color: #1a0f00; font: 700 12px var(--fonte); cursor: pointer; }
.v2-adm-painel { padding: 4px; border-radius: 10px; background: rgba(6, 16, 31, 0.92); border: 1px solid var(--borda-forte); }
.v2-adm-painel button { background: #b3261e; border-color: #b3261e; }
.v2-adm button:disabled, .v2-adm select:disabled { opacity: 0.5; cursor: wait; }
.v2-adm-sair { position: fixed; left: 12px; bottom: 12px; z-index: 60; padding: 6px 12px; border-radius: 999px; border: 0; background: var(--laranja); color: #1a0f00; font: 700 12px var(--fonte); cursor: pointer; }

/* /admin/login */
.v2-login { max-width: 420px; margin: 8px auto 60px; }
.v2-login-form { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: calc(var(--raio) + 2px); background: var(--superficie); border: 1px solid var(--borda); }
.v2-login-form[hidden] { display: none; }
.v2-login-form label { font-size: 13px; font-weight: 600; color: var(--texto-2); }
.v2-login-form input[type="password"] { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--borda-forte); background: var(--superficie-2); color: var(--texto); font: inherit; font-size: 16px; outline: none; }
.v2-login-form input[type="password"]:focus { border-color: var(--laranja); }
.v2-login-form .v2-botao { justify-content: center; border: 0; cursor: pointer; font-family: inherit; }
.v2-login-form .v2-botao:disabled { opacity: 0.6; cursor: wait; }
.v2-login-msg { min-height: 1.3em; margin: 0; font-size: 14px; color: #ff6b61; }
.v2-login-sair { padding: 10px; border-radius: 999px; border: 1px solid var(--borda-forte); background: none; color: var(--texto-2); font: 600 14px var(--fonte); cursor: pointer; }

/* ---------- mapa em tela cheia no celular: cobre a página, mas deixa o cabeçalho do site à mostra */
.v2-mapa-fs-btn { display: grid; place-items: center; }
.v2-mapa-fs-btn svg { width: 16px; height: 16px; }
.v2-mapa-fs-btn .v2-fs-sai, .v2-mapa-fs .v2-mapa-fs-btn .v2-fs-entra { display: none; }
.v2-mapa-fs .v2-mapa-fs-btn .v2-fs-sai { display: block; }
/* trava a rolagem só no html (overflow no body faria o cabeçalho "sticky" sair da tela com a página rolada) e prende o cabeçalho do site no topo */
html.v2-mapa-aberto { overflow: hidden; }
html.v2-mapa-aberto .v2-topo { position: fixed; left: 0; right: 0; top: 0; }
html.v2-mapa-aberto .v2-topo-home { transform: none; }
.v2-mapa.v2-mapa-fs { position: fixed; left: 0; right: 0; bottom: 0; top: var(--mapa-topo, 58px); z-index: 40; margin: 0; border: 0; border-radius: 0; background: #020409; }
.v2-mapa-fs .v2-mapa-fs-btn { display: grid; }
.v2-mapa-fs canvas { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.v2-mapa-fs > .v2-mapa-ampliar { display: none; }
.v2-mapa-cheio.v2-mapa-fs { display: flex; flex-direction: column; overflow: hidden; }
.v2-mapa-cheio.v2-mapa-fs .v2-mapa-tela { position: relative; flex: 1; min-height: 0; border: 0; border-radius: 0; }
.v2-mapa-cheio.v2-mapa-fs .v2-mapa-barra { margin: 0; padding: 8px 12px; max-height: 38vh; overflow: auto; background: rgba(6, 16, 31, 0.92); }
.v2-mapa-cheio.v2-mapa-fs .v2-mapa-local { display: none; }
/* em tela cheia só ficam o mapa e as camadas (checks): sem "Olhar para" e sem botões de zoom (o zoom é com dois dedos) */
.v2-mapa-so-fs { display: none; }
.v2-mapa-fs .v2-mapa-so-fs { display: flex; }
.v2-mapa-cheio.v2-mapa-fs .v2-mapa-barra, .v2-mapa-fs .v2-mapa-zoom button[data-mapa-zoom] { display: none; }
/* box da home em tela cheia: o mapa (canvas) ocupa o que sobra e os checks ficam embaixo, sem cobri-lo */
.v2-mapa.v2-mapa-fs:not(.v2-mapa-cheio) { display: flex; flex-direction: column; }
.v2-mapa.v2-mapa-fs:not(.v2-mapa-cheio) > canvas { position: relative; inset: auto; flex: 1; min-height: 0; height: auto; }
.v2-mapa.v2-mapa-fs > .v2-mapa-barra { margin: 0; padding: 8px 12px; background: rgba(6, 16, 31, 0.92); }
.v2-adm-dlg { max-width: min(420px, calc(100vw - 32px)); padding: 16px; border-radius: 12px; border: 1px solid var(--borda-forte); background: #0b1427; color: #fff; font: 14px var(--fonte); }
.v2-adm-dlg::backdrop { background: rgba(0, 0, 0, 0.6); }
.v2-adm-dlg form { display: grid; gap: 10px; }
.v2-adm-dlg-tit { margin: 0; font-weight: 700; line-height: 1.35; }
.v2-adm-dlg select, .v2-adm-dlg input { font: 14px var(--fonte); padding: 8px; border-radius: 8px; border: 1px solid var(--borda-forte); background: #151c33; color: #fff; }
.v2-adm-dlg [hidden] { display: none; }
.v2-adm-dlg-bts { display: flex; justify-content: flex-end; gap: 8px; }
.v2-adm-dlg-bts button { font: 700 13px var(--fonte); padding: 8px 14px; border-radius: 8px; border: 1px solid var(--borda-forte); background: transparent; color: #fff; cursor: pointer; }
.v2-adm-dlg-bts .v2-adm-dlg-apagar { background: #b3261e; border-color: #b3261e; }
/* Crédito da foto (src/creditos.js): selo pequeno no canto de baixo à direita */
.v2-card-img, .v2-apod-corpo > a { position: relative; }
.v2-apod-corpo > a { display: block; }
.v2-credito { position: absolute; right: 6px; bottom: 6px; z-index: 2; max-width: calc(100% - 12px); padding: 2px 6px; border-radius: 4px; background: rgb(30, 30, 30); color: #c8c8c8; opacity: 0.8; font: 500 10px/1.3 var(--fonte); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }

/* ---------- páginas legais: termos de uso e política de privacidade (src/v2/legal.js) */
.v2-colunas-unica { display: block; }
.v2-legal { max-width: 78ch; margin: 0 auto; }
.v2-legal .titulo { font: 700 clamp(26px, 3vw, 34px)/1.15 var(--fonte-titulo); margin: 6px 0 14px; }
.v2-legal h2 { font: 700 clamp(18px, 2vw, 22px)/1.25 var(--fonte-titulo); margin: 30px 0 10px; scroll-margin-top: 80px; }
.v2-legal p, .v2-legal li { line-height: 1.65; color: var(--texto-2); }
.v2-legal p { margin: 0 0 12px; }
.v2-legal ul, .v2-legal ol { margin: 0 0 14px; padding-left: 22px; }
.v2-legal li { margin: 0 0 6px; }
.v2-legal strong { color: var(--texto); }
.v2-legal a { color: var(--laranja); text-decoration: underline; text-underline-offset: 2px; }
.v2-legal-data { color: var(--texto-3); font-size: 13.5px; }
.v2-legal-resumo { margin: 0 0 18px; padding: 14px 16px; border-radius: var(--raio); border: 1px solid var(--borda-forte); background: var(--superficie); line-height: 1.6; color: var(--texto); }

/* botão "Instalar o app" no menu do celular (aparece só quando o navegador oferece a instalação) */
.v2-nav-instalar { display: none; }
@media (max-width: 760px) {
	.v2-nav-instalar:not([hidden]) { display: block; width: 100%; margin-top: 6px; padding: 14px 12px; border: 1px solid var(--borda-forte); border-radius: 10px; background: var(--superficie); color: var(--laranja); font: 600 16px/1.2 inherit; text-align: left; cursor: pointer; }
	.v2-nav-instalar:hover { color: var(--texto); }
}

/* botão translúcido de voltar ao topo (centro inferior, web e celular, só depois de rolar) */
.v2-voltar-topo {
	display: grid;
	place-items: center;
	position: fixed;
	left: 50%;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 40;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(6, 16, 31, 0.45);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 10px);
	transition: opacity 0.25s, transform 0.25s;
}
.v2-voltar-topo.visivel { opacity: 0.8; pointer-events: auto; transform: translate(-50%, 0); }
.v2-voltar-topo:hover, .v2-voltar-topo:active { opacity: 1; }

/* Hero de Últimas (desktop): coluna de miniaturas dentro do hero, à direita, com fundo escuro transparente */
.v2-carrossel-minis { display: none; }
@media (min-width: 1101px) {
	.v2-carrossel-com-minis .v2-carrossel-minis { position: absolute; z-index: 3; top: 16px; right: 16px; bottom: 16px; width: 340px; display: flex; flex-direction: column; gap: 3px; padding: 6px; overflow: hidden; border-radius: var(--raio); background: rgba(12, 14, 20, 0.26); border: 1px solid rgba(255, 255, 255, 0.08); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); scrollbar-width: thin; }
	.v2-carrossel-com-minis .v2-credito { right: 372px; }
	.v2-mini { flex: 1 1 0; min-height: 0; max-height: 96px; overflow: hidden; display: grid; grid-template-columns: 72px 1fr; gap: 10px; align-items: center; width: 100%; padding: 4px 6px; border: 1px solid transparent; border-radius: 8px; background: none; color: #fff; text-align: left; font: inherit; cursor: pointer; transition: background 0.2s, border-color 0.2s; }
	.v2-mini:hover { background: rgba(255, 255, 255, 0.08); }
	.v2-mini.ativa { background: rgba(255, 255, 255, 0.12); border-color: var(--laranja); }
	.v2-mini:focus-visible { outline: 2px solid var(--laranja); outline-offset: 1px; }
	.v2-mini-thumb { display: block; width: 100%; max-height: 100%; aspect-ratio: 4 / 3; border-radius: 6px; overflow: hidden; }
	.v2-mini-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.v2-mini-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
	.v2-mini-fonte .v2-selo { margin-right: 4px; }
	.v2-mini-fonte { font-size: 10.5px; line-height: 1.2; color: #c9d6e3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.v2-mini.ativa .v2-mini-fonte { color: var(--laranja); }
	.v2-mini-titulo { font-size: 12.5px; font-weight: 600; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}

/* Home (desktop): o hero ocupa a largura toda e as miniaturas ficam dentro dele; a coluna ao lado só aparece abaixo de 1100 px */
@media (min-width: 1101px) {
	.v2-hero { grid-template-columns: 1fr; }
	.v2-hero-lado { display: none; }
	.v2-hero-destaque .v2-carrossel { aspect-ratio: 21 / 9; height: auto; min-height: 460px; }
}
/* barra lateral das camadas: coluna no canto inferior direito, ícone com o texto embaixo; ligado = aceso */
.v2-mapa-lado { position: absolute; right: 0; bottom: 8px; z-index: 2; display: flex; flex-direction: column; max-height: calc(100% - 64px); }
.v2-mapa-lado-painel { display: flex; flex-direction: column; gap: 3px; min-height: 0; overflow-y: auto; scrollbar-width: none; padding: 4px; border-radius: 12px 0 0 12px; background: rgba(6, 16, 31, 0.72); border: 1px solid var(--borda-forte); border-right: 0; transform-origin: 50% 50%; transition: transform 0.28s cubic-bezier(0.3, 0.7, 0.3, 1), opacity 0.2s; }
.v2-mapa-lado-painel::-webkit-scrollbar { display: none; }
/* recolher: o painel encolhe para o centro dele e no meio aparece o botão ↕ (o espaço continua reservado, mas não pega clique) */
.v2-mapa-lado-fechar { align-self: center; width: 58px; height: 22px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: rgba(207, 230, 255, 0.55); cursor: pointer; }
.v2-mapa-lado-fechar:hover, .v2-mapa-lado-fechar:focus-visible { color: #fff; background: rgba(255, 255, 255, 0.06); outline: none; }
.v2-mapa-lado .v2-mapa-lado-fechar svg { width: 16px; height: 16px; }
.v2-mapa-lado-abrir { position: absolute; right: 0; top: 50%; z-index: 1; width: 34px; height: 40px; padding: 0; border-radius: 10px 0 0 10px; border: 1px solid var(--borda-forte); border-right: 0; background: rgba(6, 16, 31, 0.82); color: #fff; cursor: pointer; transform: translateY(-50%) scaleY(0); opacity: 0; pointer-events: none; transition: transform 0.28s cubic-bezier(0.3, 0.7, 0.3, 1) 0.08s, opacity 0.2s 0.08s; }
.v2-mapa-lado-abrir:hover, .v2-mapa-lado-abrir:focus-visible { border-color: var(--laranja); color: var(--laranja); outline: none; }
.v2-mapa-lado .v2-mapa-lado-abrir svg { width: 18px; height: 18px; }
.v2-mapa-lado.fechado { pointer-events: none; }
.v2-mapa-lado.fechado .v2-mapa-lado-painel { transform: scaleY(0); opacity: 0; visibility: hidden; transition: transform 0.28s cubic-bezier(0.3, 0.7, 0.3, 1), opacity 0.2s 0.08s, visibility 0s 0.3s; }
.v2-mapa-lado.fechado .v2-mapa-lado-abrir { transform: translateY(-50%) scaleY(1); opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .v2-mapa-lado-painel, .v2-mapa-lado-abrir { transition: none; } }
.v2-mapa-lado label { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 58px; padding: 5px 2px 4px; border-radius: 8px; cursor: pointer; color: rgba(207, 230, 255, 0.5); font: 600 9.5px/1.1 Inter, system-ui, sans-serif; text-align: center; transition: color 0.15s, background 0.15s; }
.v2-mapa-lado input { position: absolute; opacity: 0; pointer-events: none; }
.v2-mapa-lado svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.v2-mapa-lado label:hover { background: rgba(255, 255, 255, 0.06); color: rgba(207, 230, 255, 0.8); }
.v2-mapa-lado label:has(input:checked) { color: #fff; background: rgba(255, 255, 255, 0.1); }
.v2-mapa-lado label:has(input:focus-visible) { outline: 2px solid var(--laranja); outline-offset: -2px; }
.v2-mapa-lado.v2-mapa-so-fs { display: none; }
.v2-mapa-fs .v2-mapa-lado.v2-mapa-so-fs { display: flex; }
/* grupo da Starlink: magenta, a cor dos satélites no mapa */
.v2-mapa-starlink { display: flex; flex-direction: column; gap: 3px; margin-top: 3px; padding-top: 4px; border-top: 1px solid rgba(255, 79, 220, 0.45); }
.v2-mapa-starlink label { color: rgba(255, 79, 220, 0.5); }
.v2-mapa-starlink label:hover { color: rgba(255, 79, 220, 0.8); }
.v2-mapa-starlink label:has(input:checked) { color: #ff4fdc; background: rgba(255, 79, 220, 0.14); }
/* mapa do céu: nenhum texto de botão/rótulo selecionável (arrastar o mapa ou clicar rápido não pinta texto); tudo que clica tem a mãozinha */
.v2-mapa button, .v2-mapa label, .v2-mapa-hud, .v2-mapa-slider, .v2-mapa-lado, .v2-mapa-nav, .v2-mapa-zoom { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.v2-mapa button, .v2-mapa label, .v2-mapa input[type="range"], .v2-mapa input[type="date"], .v2-mapa input[type="time"] { cursor: pointer; }
.v2-mapa button:disabled { cursor: default; }
.v2-mapa-nav button.ativo { border-color: var(--laranja); color: var(--laranja); }
/* chip com o azimute e a altura da mira (centro), abaixo das coordenadas do HUD */
.v2-mapa-mira { position: absolute; left: 12px; top: 52px; padding: 3px 9px; border-radius: 999px; border: 1px solid rgba(255, 170, 90, 0.6); background: rgba(6, 16, 31, 0.78); color: #ffc890; font: 600 12px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; pointer-events: none; -webkit-user-select: none; user-select: none; }
.v2-mapa-mira:empty { display: none; }
/* "by BSN" ao lado do título da página do mapa, em cinza e menor */
.v2-titulo-by { color: var(--texto-3); font-size: 0.5em; font-weight: 500; letter-spacing: 0.02em; vertical-align: middle; }

/* ---------------------------------------------------------------- página da fonte (/v2/fonte/?nome=, src/v2/fonte.js) */
a.v2-fonte { text-decoration: none; }
a.v2-fonte:hover { text-decoration: underline; color: var(--laranja); }
.v2-fonte-topo { display: flex; align-items: stretch; gap: 32px; margin-bottom: 36px; }
.v2-fonte-id { flex: 1 1 auto; min-width: 0; }
.v2-fonte-rotulo { color: var(--laranja); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; }
.v2-fonte-topo h1 { font-family: var(--fonte-titulo); font-size: clamp(28px, 4vw, 42px); display: flex; align-items: center; gap: 10px; margin: 4px 0 2px; overflow-wrap: anywhere; }
.v2-fonte-topo h1 .v2-selo svg { width: 26px; height: auto; }
.v2-fonte-dominio { color: var(--texto-3); font-size: 14px; }
.v2-fonte-resumo { margin: -16px 0 30px; color: var(--texto-2); font-size: 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.v2-fonte-resumo small { color: var(--texto-3); }
.v2-fonte-nota { flex: 0 1 460px; display: flex; gap: 18px; align-items: flex-start; padding-left: 32px; border-left: 1px solid var(--borda-forte); }
.v2-fonte-nota-num { flex: none; text-align: center; min-width: 52px; }
.v2-fonte-nota-num b { display: block; font-family: var(--fonte-titulo); font-size: 44px; line-height: 1; color: var(--laranja); }
.v2-fonte-nota-num span { font-size: 12px; color: var(--texto-3); }
.v2-fonte-nota h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--texto-3); margin: 0 0 6px; }
.v2-fonte-motivo { color: var(--texto-3); font-size: 13px; margin: 8px 0 0; }
.v2-fonte-escala { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; font-size: 13px; color: var(--texto-3); }
.v2-fonte-escala li { display: flex; align-items: center; gap: 8px; padding: 3px 8px; border-radius: 8px; }
.v2-fonte-escala li:not(.atual) { opacity: 0.8; }
.v2-fonte-escala li.atual { color: var(--texto); background: var(--superficie-2); outline: 1px solid var(--borda-forte); }
.v2-fonte-escala .v2-selo { cursor: default; min-width: 16px; }
.v2-fonte-dia { margin-bottom: 26px; }
.v2-fonte-dia h2 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--texto-3); margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid var(--borda); }
.v2-fonte-grade { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2-fonte-grade.multi { grid-template-columns: repeat(4, 1fr); }
.v2-fonte-card { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border: 1px solid var(--borda); border-radius: 12px; background: var(--superficie); min-width: 0; }
.v2-fonte-card-img { flex: none; width: 112px; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; display: block; }
.v2-fonte-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-fonte-card-txt { min-width: 0; flex: 1; }
.v2-fonte-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 6px; font-size: 12px; color: var(--texto-3); }
.v2-fonte-card h3 { font-size: 15px; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
.v2-fonte-card h3 a { color: var(--texto); text-decoration: none; }
.v2-fonte-card h3 a:hover { color: var(--laranja); }
.v2-fonte-grade.multi .v2-fonte-card-img { width: 88px; }
.v2-fonte-grade + .v2-fonte-simples { margin-top: 14px; }
.v2-fonte-simples { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.v2-fonte-simples h3 { font-size: 15px; line-height: 1.3; margin: 0; }
.v2-fonte-simples h3 a { color: var(--texto); text-decoration: none; }
.v2-fonte-simples h3 a:hover { color: var(--laranja); }
.v2-fonte-simples .v2-fonte-card-meta { margin-bottom: 4px; }
@media (max-width: 1000px) { .v2-fonte-grade.multi { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
	.v2-fonte-topo { flex-direction: column; gap: 18px; }
	.v2-fonte-nota { padding-left: 0; padding-top: 16px; border-left: 0; border-top: 1px solid var(--borda-forte); flex-basis: auto; }
}
@media (max-width: 560px) {
	.v2-fonte-grade.multi .v2-fonte-card { flex-direction: column; gap: 8px; }
	.v2-fonte-grade.multi .v2-fonte-card-img { width: 100%; aspect-ratio: 16 / 9; }
	.v2-fonte-card h3 { font-size: 14px; }
}

/* ---------------------------------------------------------------- /v2/ceu/ */
.v2-ceu-abrir { display: inline-flex; padding: 6px; border-radius: 8px; color: var(--texto-2); }
.v2-ceu-abrir:hover { color: var(--laranja); background: rgba(255, 255, 255, 0.06); }
.v2-ceu-abrir svg { width: 18px; height: 18px; }
.v2-ceu-pag-grade { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.v2-ceu-pag-lado { display: grid; gap: 24px; }
.v2-ceu-pagina { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 28px; }
.v2-ceu-pagina > * { grid-column: 1 / -1; }
.v2-ceu-pagina .v2-ceu-lua { grid-column: 1; }
.v2-ceu-pagina .v2-ceu-horas { grid-column: 2; align-self: center; margin: 0; font-size: 16px; padding: 16px; }
.v2-ceu-pagina .v2-ceu-horas div { font-size: 15.5px; }
.v2-ceu-pagina .v2-lua { width: 150px; height: 150px; }
.v2-ceu-pagina .v2-ceu-fase { font-size: 30px; }
.v2-ceu-pagina .v2-ceu-ilum, .v2-ceu-pagina .v2-ceu-dist { font-size: 15px; }
.v2-ceu-pagina .v2-ceu-fases { grid-template-columns: repeat(4, 1fr); }
.v2-ceu-pagina .v2-ceu-fases span { font-size: 14px; }
.v2-ceu-pagina .v2-ceu-fases time { font-size: 13px; }
.v2-ceu-pagina .v2-ceu-fases svg { width: 40px; height: 40px; }
.v2-ceu-pagina .v2-ceu-planetas { grid-template-columns: 1fr 1fr; }
.v2-ceu-pagina .v2-ceu-planetas span { font-size: 13.5px; }
.v2-ceu-numeros { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.v2-ceu-numeros li { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 12px; background: rgba(0, 0, 0, 0.18); border: 1px solid var(--borda); }
html[data-tema="claro"] .v2-ceu-numeros li { background: rgba(0, 52, 102, 0.05); }
.v2-ceu-numeros b { font: 700 22px var(--fonte-titulo); color: var(--ciano); font-variant-numeric: tabular-nums; }
.v2-ceu-numeros span { font-size: 12.5px; color: var(--texto-2); }
@media (max-width: 1100px) { .v2-ceu-pag-grade { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
	.v2-ceu-pagina { grid-template-columns: 1fr; padding: 18px; }
	.v2-ceu-pagina .v2-ceu-horas { grid-column: 1; margin-top: 16px; }
	.v2-ceu-pagina .v2-lua { width: 110px; height: 110px; }
	.v2-ceu-pagina .v2-ceu-fase { font-size: 24px; }
	.v2-ceu-pagina .v2-ceu-fases, .v2-ceu-numeros { grid-template-columns: 1fr 1fr; }
	.v2-ceu-pagina .v2-ceu-planetas { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------- /v2/lancamentos/ */
.v2-lp-destaque { padding: 32px; border-radius: 20px; min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; }
.v2-lp-destaque h2 { font-size: clamp(24px, 3vw, 36px); margin: 6px 0 2px; color: #fff; }
.v2-lp-destaque .v2-lanc-cont span { font-size: 34px; }
.v2-lp-destaque .v2-lp-desc { max-width: 760px; color: rgba(255, 255, 255, 0.85); }
.v2-lp-destaque .v2-lp-ficha dt { color: rgba(255, 255, 255, 0.6); }
.v2-lp-rotulo { margin: 0 0 8px; font: 700 12px var(--fonte); letter-spacing: 0.1em; text-transform: uppercase; color: var(--laranja); }
.v2-lp-desc { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--texto-2); }
.v2-lp-ficha { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 0; }
.v2-lp-ficha div { display: flex; flex-direction: column; }
.v2-lp-ficha dt { font: 700 10.5px var(--fonte); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-3); }
.v2-lp-ficha dd { margin: 0; font-size: 13.5px; font-weight: 600; }
.v2-lp-numeros { margin: 20px 0; }
.v2-lp-quem { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 28px; }
.v2-lp-quem ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.v2-lp-quem li { display: grid; grid-template-columns: 22px minmax(0, 170px) 1fr 28px; align-items: center; gap: 10px; font-size: 13.5px; }
.v2-lp-quem li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--texto-2); }
.v2-lp-quem li i { height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--ciano) var(--p), rgba(136, 231, 255, 0.1) var(--p)); }
.v2-lp-marca { width: 20px; height: 15px; border-radius: 3px; object-fit: cover; justify-self: center; }
.v2-lp-logo { height: 20px; object-fit: contain; background: #fff; padding: 1px; border-radius: 4px; }
.v2-lp-sigla { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 4px; background: rgba(136, 231, 255, 0.14); color: var(--ciano); font: 700 8px var(--fonte); letter-spacing: 0; }
.v2-lp-quem li b { text-align: right; font-variant-numeric: tabular-nums; }
.v2-lp-links { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-lp-links a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--borda); font: 600 13px var(--fonte); color: var(--texto-2); }
.v2-lp-links a:hover { border-color: var(--ciano); color: var(--texto); }
.v2-lp-links svg { width: 14px; height: 14px; }
.v2-lp-titulo { font-size: 22px; margin: 8px 0 14px; }
.v2-lp-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.v2-lp-card { display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--borda); border-radius: calc(var(--raio) + 2px); overflow: hidden; }
.v2-lp-img { aspect-ratio: 16 / 9; background: var(--v2-lanc-img) center / cover, #0a1830; }
.v2-lp-sem { display: flex; align-items: center; justify-content: center; color: var(--texto-3); }
.v2-lp-sem svg { width: 40px; height: 40px; }
.v2-lp-corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.v2-lp-corpo h3 { font-size: 17px; margin: 6px 0 2px; }
.v2-lp-quando { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; font-size: 13px; color: var(--texto-2); font-variant-numeric: tabular-nums; }
.v2-lp-corpo .v2-lanc-acoes { margin-top: auto; padding-top: 12px; }
@media (max-width: 760px) {
	.v2-lp-destaque { padding: 20px; min-height: 0; }
	.v2-lp-destaque .v2-lanc-cont span { font-size: 26px; }
	.v2-lp-quem { grid-template-columns: 1fr; }
	.v2-lp-quem li { grid-template-columns: 22px minmax(0, 120px) 1fr 24px; }
}
