/* =========================================================================
   Sanskriteacher — webapp de devanagari (/es/devanagari)
   Carregado depois do home.css: usa as cores do sanscrito (papiro, tinta)
   e as fontes de la. Tudo com prefixo dv- para nao vazar no resto do site.
   ========================================================================= */

.dv{min-height:70vh}
.dv .wrap{padding-top:48px;padding-bottom:72px;max-width:820px}
@media (max-width:720px){.dv .wrap{padding-top:32px;padding-bottom:56px}}
/* sem JS todas as telas aparecem em sequencia, separadas por uma linha */
.vista+.vista{border-top:1px solid var(--papiro-linha)}
.dv-app .vista{border-top:none}
.vista[hidden]{display:none}

/* ---------- inicio ---------- */
.dv-hero{padding-bottom:30px;border-bottom:1px solid var(--papiro-linha)}
.dv-titulo{font-family:var(--disp);font-weight:900;font-stretch:118%;text-transform:uppercase;
  letter-spacing:.03em;line-height:1;font-size:clamp(1.9rem,6vw,3.2rem);color:var(--papiro-ink);margin-top:12px}
.dv-titulo span{display:block;font-family:var(--deva);text-transform:none;letter-spacing:0;
  font-weight:400;color:var(--tinta);font-size:1.35em;line-height:1.3;margin-top:6px}
.dv-lede{margin-top:18px;max-width:58ch}

.dv-modulos{list-style:none;margin:30px 0 0;padding:0;border:1px solid var(--papiro-linha)}
.dv-modulo{border-bottom:1px solid var(--papiro-linha)}
.dv-modulo:last-child{border-bottom:none}
.dv-modulo>a,.dv-modulo>div{display:grid;grid-template-columns:1fr auto;column-gap:16px;
  align-items:center;padding:18px 20px;text-decoration:none}
.dv-modulo>a:hover{background:rgba(255,255,255,.18)}
.dv-num{font-family:var(--disp);font-size:.64rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--tinta);grid-column:1}
.dv-nome{font-family:var(--deva);font-size:1.2rem;line-height:1.3;color:var(--papiro-ink);grid-column:1;margin-top:3px}
.dv-pct,.dv-cadeado{grid-column:2;grid-row:1/3;font-family:var(--disp);font-weight:700;color:var(--tinta)}
.dv-bloq{opacity:.55}
.dv-cadeado{font-size:.95rem}

.dv-matricula{margin-top:30px;padding:24px 22px;border:1px solid var(--papiro-linha)}
.dv-matricula h2{font-family:var(--disp);font-weight:800;font-stretch:118%;text-transform:uppercase;
  letter-spacing:.04em;font-size:1.2rem;color:var(--papiro-ink);margin-bottom:10px}
.dv-matricula .btn{margin-top:20px}

/* ---------- modulo ---------- */
.dv-voltar{display:table;font-family:var(--disp);font-size:.7rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--tinta);text-decoration:none;margin-bottom:22px}
.dv-voltar::before{content:"← "}
html:not(.dv-app) .dv-voltar{display:none}
.dv-h2{font-family:var(--deva);font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15;color:var(--papiro-ink);margin-top:8px}
.dv-partes{list-style:none;margin:26px 0 0;padding:0;border:1px solid var(--papiro-linha)}
.dv-partes li{border-bottom:1px solid var(--papiro-linha)}
.dv-partes li:last-child{border-bottom:none}
.dv-partes li>a,.dv-parte{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;padding:16px 20px;font-family:var(--deva);font-size:1.1rem;color:var(--papiro-ink);text-decoration:none}
.dv-tag,.dv-acoes a{font-family:var(--disp);font-size:.66rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tinta)}
.dv-acoes{display:flex;gap:8px}
.dv-acoes a{text-decoration:none;border:1.5px solid var(--tinta);padding:8px 12px}
.dv-acoes a:hover{background:var(--tinta);color:var(--papiro)}
.dv-acoes b{font-weight:700;margin-left:4px}

/* ---------- licao ---------- */
.dv-texto{margin-top:18px;max-width:62ch}
.dv-texto h3{font-family:var(--disp);font-size:.78rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--papiro-ink);margin:28px 0 8px}
.dv-texto p+p{margin-top:12px}
.dv .dv-texto strong{color:var(--papiro-ink)}
.dv-in{font-family:var(--deva);font-size:1.25em;color:var(--tinta)}
.dv-h3{font-family:var(--disp);font-size:.72rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--tinta);margin:34px 0 12px}

.dv-letras{list-style:none;margin:0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.dv-letras li{border:1px solid var(--papiro-linha);padding:14px 14px 12px;background:rgba(255,255,255,.16);
  display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dv-letras li{background:rgba(255,255,255,.03)}}
:root[data-theme="dark"] .dv-letras li{background:rgba(255,255,255,.03)}
.dv-l{font-family:var(--deva);font-size:2.3rem;line-height:1.2;color:var(--tinta);grid-row:1/3}
.dv-r{font-family:var(--deva);font-size:1.15rem;font-style:italic;color:var(--papiro-ink)}
.dv-d{font-family:var(--deva);font-size:.82rem;line-height:1.35;color:var(--papiro-muted);grid-column:1/-1;margin-top:8px}
/* fila de 5 das oclusivas: cinco colunas no desktop, mostrando o padrao */
@media (min-width:760px){.dv-fila{grid-template-columns:repeat(5,1fr)}
  .dv-fila li{grid-template-columns:1fr}.dv-fila .dv-l{grid-row:auto}}
.dv-palavras{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.dv-proximo{margin-top:36px}

/* ---------- tarjetas ---------- */
.dv-cartas-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dv-sentido{font-family:var(--disp);font-size:.66rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tinta);background:none;border:1.5px solid var(--tinta);
  padding:8px 12px;cursor:pointer}
.dv-barra{height:4px;background:var(--papiro-linha);margin-top:18px}
.dv-barra i{display:block;height:100%;width:0;background:var(--tinta);transition:width .25s}
.dv-contagem{margin-top:8px;font-family:var(--disp)!important;font-size:.72rem!important;letter-spacing:.12em}

.dv-jogo{display:flex;flex-direction:column;align-items:center;margin-top:18px}
.dv-carta{position:relative;width:100%;max-width:420px;aspect-ratio:4/5;max-height:56vh;
  border:1px solid var(--papiro-linha);background:rgba(255,255,255,.22);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:24px;color:var(--papiro-ink);font:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dv-carta{background:rgba(255,255,255,.05)}}
:root[data-theme="dark"] .dv-carta{background:rgba(255,255,255,.05)}
.dv-carta:focus-visible{outline:3px solid var(--tinta);outline-offset:3px}
.dv-frente{font-family:var(--deva);font-size:clamp(5rem,26vw,8.5rem);line-height:1.15;color:var(--tinta)}
.dv-som .dv-frente{font-style:italic;font-size:clamp(3rem,16vw,5rem)}
.dv-verso{display:none;flex-direction:column;align-items:center;gap:6px;text-align:center}
.dv-carta.virada .dv-verso{display:flex}
.dv-verso-r{font-family:var(--deva);font-size:2rem;font-style:italic;color:var(--papiro-ink)}
.dv-som .dv-verso-r{font-style:normal;font-size:3rem;color:var(--tinta)}
.dv-verso-d{font-family:var(--deva);font-size:1rem;line-height:1.4;color:var(--papiro-muted);max-width:30ch}
.dv-girar{position:absolute;bottom:14px;font-family:var(--disp);font-size:.6rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--papiro-muted)}
.dv-carta.virada .dv-girar{visibility:hidden}
.dv-ouvir{margin-top:12px;font-family:var(--disp);font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;background:none;border:none;color:var(--tinta);cursor:pointer;padding:8px}
.dv-respostas{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:420px;margin-top:16px}
.dv-respostas button{font-family:var(--disp);font-size:.78rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:18px 10px;cursor:pointer;border:2px solid var(--tinta)}
.dv-errei{background:transparent;color:var(--tinta)}
.dv-sabia{background:var(--tinta);color:var(--papiro)}
.dv-teclas{margin-top:14px;font-family:var(--disp)!important;font-size:.64rem!important;letter-spacing:.1em}
@media (hover:none){.dv-teclas{display:none}}

.dv-fim{text-align:center;margin-top:40px}
.dv-fim>h2{font-family:var(--deva);font-size:2rem;color:var(--papiro-ink)}
.dv-fim>p{margin:12px auto 0;max-width:46ch}
.dv-fim-acoes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.dv-fim .dv-matricula{text-align:left;margin-top:40px}

/* o display:flex/grid das classes acima venceria o atributo hidden */
.dv [hidden]{display:none!important}
/* botao cheio na cor da tinta (o .btn-fill do home.css e preto) */
.dv .btn-fill{background:var(--tinta);color:var(--papiro);border-color:var(--tinta)}
.dv .btn-fill:hover{background:transparent;color:var(--tinta)}
