/* =====================================================================
   MEMORIZADOR DE VERSÍCULOS — visual. Leve: sem animações contínuas.
   Usa as cores do site (_nucleo/estilo.css), com tema claro e escuro.
   ===================================================================== */
#mv-pagina [hidden], .mv-app [hidden] { display: none !important; }
.mv-selo { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: .4rem 0 0; font-size: .85rem; font-weight: 700; color: var(--dourado); text-transform: uppercase; letter-spacing: .08em; }
.mv-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }

/* ---------- Caixa da ferramenta ---------- */
.mv-app { position: relative; margin: 1rem 0 1.5rem; padding: 1.2rem 1rem; border-radius: 24px; background: var(--superficie); border: 1px solid var(--borda); box-shadow: var(--sombra); border-top: 6px solid var(--primaria); scroll-margin-top: 80px; }
@media (min-width: 700px) { .mv-app { padding: 1.5rem 2rem; } }
.mv-app-tit { display: flex; align-items: center; gap: .5rem; margin: 0 0 .8rem; font-size: 1.3rem; }
.mv-app-tit .ico { color: var(--primaria); }
.mv-sub { margin: 1rem 0 .5rem; font-size: 1.05rem; }
.mv-privacidade { display: flex; align-items: center; gap: .4rem; margin: 1rem 0 0; font-size: .85rem; color: var(--texto-2); }
.mv-privacidade .ico { width: 16px; height: 16px; color: var(--sucesso); flex: none; }
.mv-aviso { padding: .8rem 1rem; border-radius: 12px; background: var(--dourado-suave); }
.mv-ajuda { margin: .3rem 0 .6rem; font-size: .85rem; color: var(--texto-2); }
.mv-linha-botoes { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .7rem 0 0; }

/* Painel */
.mv-painel { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; margin: 0 0 1rem; }
.mv-painel div { padding: .5rem .3rem; border-radius: 14px; background: var(--fundo); border: 1px solid var(--borda); text-align: center; }
.mv-painel dt { font-size: .7rem; font-weight: 650; color: var(--texto-2); text-transform: uppercase; letter-spacing: .03em; }
.mv-painel dd { margin: 0; font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--primaria); }
@media (max-width: 380px) { .mv-painel dt { font-size: .62rem; } .mv-painel dd { font-size: 1.15rem; } }

.mv-aviso-revisao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 16px; background: var(--dourado-suave); border: 1px solid var(--borda); }
.mv-aviso-revisao p { margin: 0; }

/* Desafios */
.mv-desafios { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
@media (min-width: 760px) { .mv-desafios { grid-template-columns: repeat(3, 1fr); } }
.mv-desafio-btn { display: flex; gap: .6rem; align-items: flex-start; width: 100%; height: 100%; padding: .7rem .8rem; border-radius: 16px; border: 1.5px solid var(--borda); background: var(--fundo); color: var(--texto); font: inherit; text-align: left; cursor: pointer; }
.mv-desafio-btn:hover, .mv-desafio-btn:focus-visible { border-color: var(--primaria); }
.mv-desafio-btn > span:first-child { font-size: 1.5rem; line-height: 1; }
.mv-desafio-btn strong { display: block; }
.mv-desafio-btn small { display: block; margin-top: .15rem; color: var(--texto-2); font-size: .84rem; }
.mv-desafio-ativo { margin: 0 0 1rem; padding: .9rem 1rem; border-radius: 16px; background: var(--fundo); border: 1px solid var(--borda); }
.mv-desafio-tit, .mv-desafio-info, .mv-desafio-hoje, .mv-parabens { margin: 0 0 .4rem; }
.mv-desafio-info { font-size: .88rem; color: var(--texto-2); }
.mv-barra { height: 10px; margin: .2rem 0 .5rem; border-radius: 99px; background: var(--superficie-2); overflow: hidden; }
.mv-barra span { display: block; height: 100%; min-width: 4px; background: var(--primaria); border-radius: 99px; }

/* Escolher a lista */
.mv-escolher { margin: .5rem 0 .6rem; }
.mv-escolher select { width: 100%; min-height: 46px; padding: .4rem .6rem; border-radius: 12px; border: 1px solid var(--borda); background: var(--fundo); color: var(--texto); font: inherit; font-size: 16px; }
.mv-versos { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; max-height: 26rem; overflow-y: auto; overscroll-behavior: contain; }
.mv-item { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "txt btn" "tag btn"; align-items: center; gap: .25rem .6rem; padding: .55rem .7rem; border-radius: 14px; background: var(--fundo); border: 1px solid var(--borda); }
.mv-item:has(.mv-tirar) { grid-template-columns: 1fr auto auto; grid-template-areas: "txt btn x" "tag btn x"; }
.mv-item-txt { grid-area: txt; min-width: 0; }
.mv-item-txt strong { display: block; font-size: .95rem; }
.mv-item-txt strong small { display: block; color: var(--dourado); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.mv-item-txt span { display: block; font-size: .84rem; color: var(--texto-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mv-item > .mv-tag { grid-area: tag; justify-self: start; }
.mv-item > .btn, .mv-cadeado { grid-area: btn; }
.mv-tirar { grid-area: x; width: 34px; height: 34px; color: var(--texto-2); }
.mv-item-fechado { opacity: .6; }
.mv-cadeado { font-size: 1.2rem; padding: 0 .4rem; }
.mv-vazio { padding: .8rem; color: var(--texto-2); font-size: .9rem; }
.mv-tag { display: inline-block; padding: .1rem .55rem; border-radius: 99px; font-size: .72rem; font-weight: 700; background: var(--superficie-2); color: var(--texto-2); }
.mv-tag-aprendendo { background: var(--dourado-suave); color: var(--dourado); }
.mv-tag-revisar { background: color-mix(in srgb, var(--perigo) 15%, var(--superficie)); color: var(--perigo); }
.mv-tag-decorado { background: color-mix(in srgb, var(--sucesso) 15%, var(--superficie)); color: var(--sucesso); }
.mv-tag-guardado { background: var(--sucesso); color: #fff; }

.mv-adicionar { margin-top: 1rem; }
.mv-adicionar summary { cursor: pointer; font-weight: 650; color: var(--primaria); }
.mv-adicionar[open] summary { margin-bottom: .6rem; }
.mv-adicionar input { font-size: 16px; }
.mv-resultados { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.mv-resultados li { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .5rem .7rem; border-radius: 12px; background: var(--fundo); border: 1px solid var(--borda); }
.mv-resultados li div { min-width: 0; }
.mv-resultados strong { display: block; font-size: .92rem; }
.mv-resultados span { display: block; font-size: .84rem; color: var(--texto-2); }
.mv-resultados .btn, .mv-resultados .mv-tag { flex: none; }

/* ---------- Treino ---------- */
.mv-app.mv-treinando .mv-app-tit, .mv-app.mv-treinando #mv-painel { display: none; }
.mv-treino-topo { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.mv-treino-ref { margin: .8rem 0 .6rem; font-family: var(--fonte-titulo); font-size: 1.4rem; font-weight: 700; }
.mv-treino-ref small { font-family: var(--fonte); font-size: .75rem; color: var(--texto-2); font-weight: 600; }
.mv-niveis { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: .3rem; }
.mv-niveis button { display: grid; justify-items: center; gap: .05rem; width: 100%; min-height: 56px; padding: .35rem .2rem; border-radius: 12px; border: 1.5px solid var(--borda); background: var(--fundo); color: var(--texto); font: inherit; cursor: pointer; }
.mv-niveis button[aria-current="step"] { border-color: var(--primaria); background: var(--primaria); color: var(--sobre-primaria); }
.mv-niveis button.mv-feito:not([aria-current="step"]) { border-color: var(--sucesso); }
.mv-niveis button.mv-feito .mv-niv-n::after { content: " ✓"; color: var(--sucesso); }
.mv-niveis button[aria-current="step"].mv-feito .mv-niv-n::after { color: inherit; }
.mv-niv-n { font-weight: 800; font-size: .85rem; }
.mv-niv-nome { font-size: .68rem; line-height: 1.15; text-align: center; }
@media (max-width: 480px) { .mv-niv-nome { display: none; } }
.mv-niv-ajuda { margin: 0 0 .7rem; font-size: .92rem; color: var(--texto-2); }

.mv-area { padding: 1rem; border-radius: 18px; background: var(--fundo); border: 1px solid var(--borda); min-height: 140px; }
.mv-texto { margin: 0; font-family: var(--fonte-titulo); font-size: clamp(1.2rem, 1.6vw + .9rem, 1.7rem); line-height: 1.55; }
.mv-texto p { margin: 0; }
.mv-texto footer { margin-top: .5rem; font-family: var(--fonte); font-size: .9rem; font-weight: 700; color: var(--dourado); }
blockquote.mv-texto { padding: 0; border: 0; }
.mv-texto-jogo { line-height: 2.1; }
.mv-rodada { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--texto-2); }
.mv-oculta, .mv-letra { display: inline; min-width: 2ch; padding: 0 .2em; border: 0; border-bottom: 2px solid var(--primaria); border-radius: 4px 4px 0 0; background: var(--superficie-2); color: var(--texto-2); font: inherit; letter-spacing: .02em; cursor: pointer; }
.mv-letra { color: var(--primaria); font-weight: 800; }
.mv-oculta:hover, .mv-letra:hover { background: var(--dourado-suave); }
.mv-revelada { color: var(--dourado); }
.mv-texto-coberto p { filter: blur(9px); user-select: none; }

.mv-montado { min-height: 3.2em; padding-bottom: .6rem; margin-bottom: .6rem; border-bottom: 1px dashed var(--borda); }
.mv-montado-vazio { color: var(--texto-2); font-family: var(--fonte); font-size: .95rem; }
.mv-pecas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.mv-peca { min-height: 44px; padding: .35rem .75rem; border-radius: 12px; border: 1.5px solid var(--borda); background: var(--superficie); color: var(--texto); font: inherit; font-size: 1rem; cursor: pointer; text-align: left; }
.mv-peca:hover { border-color: var(--primaria); }
.mv-peca-errada { border-color: var(--perigo); background: color-mix(in srgb, var(--perigo) 14%, var(--superficie)); }
.mv-erros { margin: .5rem 0 0; font-size: .85rem; color: var(--perigo); min-height: 1.2em; }

.mv-escrever textarea { width: 100%; font-size: 17px; line-height: 1.5; }
.mv-resultado { margin: 0 0 .7rem; padding: .6rem .9rem; border-radius: 12px; border-left: 5px solid var(--perigo); background: color-mix(in srgb, var(--perigo) 10%, var(--superficie)); }
.mv-resultado-1 { border-left-color: var(--dourado); background: var(--dourado-suave); }
.mv-resultado-2 { border-left-color: var(--sucesso); background: color-mix(in srgb, var(--sucesso) 12%, var(--superficie)); }
.mv-falta { background: color-mix(in srgb, var(--perigo) 13%, transparent); color: var(--perigo); padding: 0 .1em; border-radius: 4px; }
.mv-pergunta-nota { margin: .7rem 0 0; font-weight: 700; }

.mv-acoes:empty { display: none; }
.mv-fim { margin-top: .8rem; padding: .9rem 1rem; border-radius: 16px; background: color-mix(in srgb, var(--sucesso) 10%, var(--superficie)); border: 1px solid var(--borda); }
.mv-fim-msg { margin: 0; font-weight: 650; }
.mv-fim-msg strong { color: var(--sucesso); white-space: nowrap; }
.mv-compartilhar { margin-top: .5rem; }

.mv-toast { position: sticky; bottom: 1rem; z-index: 5; margin: 1rem auto 0; max-width: 26rem; padding: .6rem 1rem; border-radius: 12px; background: var(--texto); color: var(--fundo); text-align: center; font-weight: 600; }

/* ---------- Listas e cartões (páginas) ---------- */
.mv-listas-sec { margin: 2rem 0; }
.mv-listas { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .5rem; }
@media (min-width: 700px) { .mv-listas { grid-template-columns: 1fr 1fr; } }
.mv-listas a { display: flex; gap: .7rem; align-items: flex-start; height: 100%; padding: .75rem .9rem; border-radius: 16px; background: var(--superficie); border: 1px solid var(--borda); color: var(--texto); text-decoration: none; }
.mv-listas a:hover { border-color: var(--primaria); }
.mv-listas-emoji { font-size: 1.5rem; line-height: 1.2; }
.mv-listas strong { display: block; }
.mv-listas small { display: block; margin-top: .15rem; color: var(--texto-2); font-size: .84rem; }

.mv-cartoes { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: .7rem; counter-reset: mv; }
.mv-cartao { padding: .9rem 1rem; border-radius: 18px; background: var(--superficie); border: 1px solid var(--borda); border-left: 5px solid var(--primaria); counter-increment: mv; }
.mv-cartao-topo { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; margin: 0 0 .3rem; }
.mv-cartao-topo::before { content: counter(mv) "."; font-weight: 800; color: var(--texto-2); }
.mv-cartao-ref { font-size: 1.05rem; }
.mv-cartao-topo small { color: var(--texto-2); font-size: .8rem; }
.mv-cartao-tema { flex-basis: 100%; order: -1; font-size: .78rem; font-weight: 700; color: var(--dourado); text-transform: uppercase; letter-spacing: .04em; }
.mv-cartao-texto { margin: 0; padding: 0; border: 0; font-family: var(--fonte-titulo); font-size: 1.12rem; line-height: 1.55; }
.mv-cartao-texto p { margin: 0; }
.mv-cartao-nota { margin: .5rem 0 0; font-size: .9rem; color: var(--texto-2); }
.mv-cartao-btn { margin-top: .6rem; }
.mv-dicas { padding-left: 1.2rem; display: grid; gap: .35rem; }

/* ---------- Impressão de cartões ---------- */
#mv-impressao { display: none; }
@media print {
  html.mv-imprimindo body > *:not(#mv-impressao) { display: none !important; }
  html.mv-imprimindo #mv-impressao { display: block; color: #000; font-size: 11pt; }
  #mv-impressao h1 { font-size: 15pt; margin: 0 0 8pt; }
  .mv-imp-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6pt; }
  .mv-imp-cartoes li { break-inside: avoid; padding: 8pt 10pt; border: 1.5pt dashed #777; border-radius: 6pt; min-height: 70pt; }
  .mv-imp-cartoes p { margin: 4pt 0; font-family: Georgia, serif; font-size: 11pt; line-height: 1.4; }
  .mv-imp-cartoes small { color: #555; }
  .mv-imp-rodape { margin-top: 8pt; font-size: 9pt; color: #555; }
  /* Sem o botão de imprimir cartões: a página sai com os cartões do jeito que está */
  .mv-app, .mv-cta, .mv-listas-sec, .outras, .mv-cartao-btn { display: none !important; }
  .mv-cartao { break-inside: avoid; box-shadow: none; }
}
