/* Módulo flash: flashcards e tutor com IA */

/* ---------- Página "Cartões de hoje" ---------- */
.m-flash-materias{display:flex;flex-direction:column}
.m-flash-materia{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--borda)}
.m-flash-materia:last-child{border-bottom:none}
.m-flash-materia small{font-size:14px}
.m-flash-materia .btn{flex-shrink:0;font-variant-numeric:tabular-nums}

@media (max-width:860px){.m-flash-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.m-flash-resumo .escuro{grid-column:1/-1}.m-flash-resumo .cartao:not(.escuro){padding:20px}.m-flash-resumo .cartao:not(.escuro) .icone{display:none}}

/* Início (fragmento) */
.m-flash-inicio{flex-direction:row;align-items:center;gap:16px;padding:18px 22px}
.m-flash-inicio-txt{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.35}
.m-flash-inicio-txt b{color:var(--titulo);font-size:18px;font-weight:600}
@media (max-width:480px){.m-flash-inicio .btn span,.m-flash-inicio .btn{padding:0 14px}}

/* Meus cartões */
.m-flash-novo summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;color:var(--titulo)}
.m-flash-novo summary::-webkit-details-marker{display:none}
.m-flash-novo[open] summary{margin-bottom:8px}
.m-flash-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:860px){.m-flash-lista{grid-template-columns:minmax(0,1fr)}}
.m-flash-item{padding:20px;gap:14px}
.m-flash-fv{display:flex;flex-direction:column;gap:10px}
.m-flash-fv .rotulo{font-size:11px}
.m-flash-txt{font-size:15.5px;line-height:1.5;color:var(--titulo);overflow-wrap:anywhere;max-height:9.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
.m-flash-txt p+p{margin-top:6px}
.m-flash-fv>div+div .m-flash-txt{color:var(--texto)}
.m-flash-baralho{margin:0;gap:10px}
.m-flash-baralho .marcar small{font-size:13px}

/* Questão e aula */
.m-flash-q-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.m-flash-q{padding:20px 22px}
.m-flash-aula{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}
.m-flash-frag{display:contents}
@media (max-width:600px){.m-flash-q .acoes .btn,.m-flash-aula .acoes .btn{flex:1 1 100%}}

/* Admin */
.m-flash-tabela td{vertical-align:top;font-size:14.5px;line-height:1.45;min-width:140px}
.m-flash-proposta{margin:0;padding:20px}
.m-flash-ruim{border-top:1px solid var(--borda);padding:12px 0}
.m-flash-ruim summary{cursor:pointer;line-height:1.45}
.m-flash-ruim .conteudo{background:var(--fundo);border:1px solid var(--borda);border-radius:14px;padding:12px 14px;margin:10px 0}

/* ---------- Tela de estudo ---------- */
.fc-estudo .navegar a.btn-texto{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding-left:0}
.fc-estudo{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.fc-area{display:flex;flex-direction:column;gap:14px}
.fc-palco{perspective:1800px}
.fc-cartao{display:grid;cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.25,.8,.25,1);border-radius:28px;-webkit-tap-highlight-color:transparent}
.fc-cartao:focus{outline:none}
.fc-cartao:focus-visible .fc-face{box-shadow:0 0 0 3px var(--esmeralda),0 26px 50px -34px rgba(23,23,23,.4)}
.fc-cartao.virado{transform:rotateY(180deg)}
.fc-cartao.sem-animar{transition:none}
.fc-face{grid-area:1/1;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--cartao);border:1px solid var(--borda);border-radius:28px;padding:28px 30px;min-height:min(46vh,380px);display:flex;flex-direction:column;gap:14px;box-shadow:0 26px 50px -34px rgba(23,23,23,.4)}
.fc-verso{transform:rotateY(180deg);background:var(--menta);border-color:var(--menta-borda)}
.fc-etq{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--suave)}
.fc-verso .fc-etq{color:var(--esmeralda-texto)}
.fc-etq .etiqueta{letter-spacing:0;text-transform:none}
.fc-texto{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:20px;line-height:1.55;color:var(--titulo);overflow-wrap:anywhere}
.fc-texto.curto{font-size:26px;line-height:1.35;letter-spacing:-0.01em;text-align:center;font-weight:500}
.fc-texto.longo{font-size:17px;line-height:1.6}
.fc-verso .fc-texto{color:#064E3B}
.fc-dica{font-size:14px;color:var(--suave);text-align:center}
.fc-links{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:0 6px}
.fc-links .btn-texto{padding:0;min-height:32px}
.fc-controles{display:flex;flex-direction:column;gap:10px}
.fc-virar{width:100%;min-height:60px;font-size:17px}
.fc-notas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fc-notas button{min-height:66px;border-radius:20px;border:1px solid var(--borda-forte);background:var(--cartao);font-family:var(--fonte);color:var(--titulo);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;padding:6px 4px;transition:transform .15s,border-color .15s;box-shadow:0 1px 2px rgba(23,23,23,.06)}
.fc-notas button:hover{transform:translateY(-1px);border-color:#A3A3A3}
.fc-notas button:disabled{opacity:.6;cursor:wait;transform:none}
.fc-notas b{font-size:17px;font-weight:600}
.fc-notas small{font-size:13px;color:var(--suave)}
.fc-n1 b{color:var(--alerta-texto)}
.fc-n4 b{color:var(--esmeralda-texto)}
.fc-notas .fc-n1{background:var(--alerta-fundo);border-color:var(--alerta-borda)}
.fc-notas .fc-n4{background:var(--menta);border-color:var(--menta-borda)}
.fc-atalhos{text-align:center}
.fc-atalhos kbd{font-family:var(--fonte);font-size:12px;border:1px solid var(--borda-forte);border-bottom-width:2px;border-radius:6px;padding:0 6px;background:var(--cartao)}
@media (pointer:coarse){.fc-atalhos{display:none}}
.fc-fim{align-items:flex-start}
.fc-fim:focus{outline:none}
.fc-fim-notas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.fc-fim-notas div{border:1px solid var(--borda);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;background:var(--fundo)}
.fc-fim-notas b{font-size:26px;font-weight:600;color:var(--titulo);font-variant-numeric:tabular-nums}
.fc-fim-notas small{color:var(--suave);font-size:13px}
.fc-fim-notas:empty{display:none}

/* Movimento reduzido: troca suave por transparência, sem girar. */
@media (prefers-reduced-motion:reduce){
  .fc-cartao,.fc-cartao.virado{transform:none;transition:none}
  .fc-face{transition:opacity .2s}
  .fc-verso{transform:none;opacity:0;visibility:hidden}
  .fc-cartao.virado .fc-frente{opacity:0;visibility:hidden}
  .fc-cartao.virado .fc-verso{opacity:1;visibility:visible}
  .fc-notas button{transition:none}
}

/* Celular: modo foco (sem a barra de abas) e botões grandes presos embaixo. */
@media (max-width:860px){
  body:has(#fc-estudo) .abas{display:none}
  body:has(#fc-estudo) main{padding-bottom:24px}
  body:has(#fc-estudo) footer.rodape{display:none}
  .fc-controles{position:sticky;bottom:0;z-index:5;margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(250,250,250,0),var(--fundo) 22%)}
  .fc-face{padding:22px;min-height:max(260px,calc(100svh - 360px));border-radius:24px}
  .fc-texto{font-size:19px}
  .fc-texto.curto{font-size:23px}
  .fc-texto.longo{font-size:16.5px}
  .fc-notas{gap:8px}
  .fc-notas button{min-height:70px;border-radius:18px}
}

/* ---------- Tutor ---------- */
dialog.m-tutor{position:fixed;z-index:60;inset:82px 20px 20px auto;margin:0;width:min(420px,calc(100vw - 40px));max-width:none;height:auto;max-height:none;padding:0;border:1px solid var(--borda);border-radius:var(--raio);background:var(--cartao);box-shadow:0 30px 70px -24px rgba(10,10,10,.45);color:var(--texto)}
dialog.m-tutor[open]{display:flex}
.m-tutor-caixa{display:flex;flex-direction:column;width:100%;min-height:0;height:100%}
.m-tutor-topo{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;border-bottom:1px solid var(--borda)}
.m-tutor-topo .icone{width:38px;height:38px}
.m-tutor-nome{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.m-tutor-nome b{color:var(--titulo);font-weight:600}
.m-tutor-fechar{width:42px;height:42px;border-radius:21px;border:1px solid var(--borda);background:var(--cartao);color:var(--titulo);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.m-tutor-fechar:hover{border-color:var(--borda-forte)}
.m-tutor-msgs{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--fundo);overscroll-behavior:contain}
.m-tutor-msg{max-width:92%;padding:11px 15px;border-radius:18px;font-size:15.5px;line-height:1.55;overflow-wrap:anywhere}
.m-tutor-msg.aluno{align-self:flex-end;background:#0A0A0A;color:#FFF;border-bottom-right-radius:6px}
.m-tutor-msg.tutor{align-self:flex-start;background:var(--cartao);border:1px solid var(--borda);border-bottom-left-radius:6px}
.m-tutor-msg.intro{color:var(--suave)}
.m-tutor-msg .conteudo{font-size:15.5px;line-height:1.6}
.m-tutor-msg .conteudo p{margin-bottom:8px}
.m-tutor-msg .conteudo ul,.m-tutor-msg .conteudo ol{margin-bottom:8px;padding-left:20px}
.m-tutor-msg .conteudo>:last-child{margin-bottom:0}
.m-tutor-avaliar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--borda);font-size:13px;color:var(--suave)}
.m-tutor-avaliar button{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--borda-forte);background:var(--cartao);font-family:var(--fonte);font-size:13px;color:var(--titulo);cursor:pointer}
.m-tutor-avaliar button:hover{border-color:#A3A3A3}
.m-tutor-aviso{font-size:14.5px;align-self:stretch}
.m-tutor-form{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--borda);display:flex;flex-direction:column;gap:8px;background:var(--cartao);border-radius:0 0 var(--raio) var(--raio)}
.m-tutor-form textarea{font-family:var(--fonte);font-size:16px;color:var(--titulo);border:1px solid var(--borda-forte);border-radius:16px;padding:10px 14px;min-height:52px;max-height:160px;resize:vertical;width:100%;line-height:1.45}
.m-tutor-form textarea:focus{outline:none;border-color:var(--esmeralda);box-shadow:0 0 0 4px var(--menta)}
.m-tutor-form textarea:disabled{background:var(--fundo)}
.m-tutor-linha{display:flex;align-items:center;justify-content:space-between;gap:10px}
.m-tutor-nota{font-size:12.5px;line-height:1.4}
.m-tutor-pontos{display:inline-flex;gap:5px;padding:4px 2px}
.m-tutor-pontos i{width:7px;height:7px;border-radius:4px;background:#A3A3A3;animation:m-tutor-pulo 1.2s infinite ease-in-out}
.m-tutor-pontos i:nth-child(2){animation-delay:.15s}
.m-tutor-pontos i:nth-child(3){animation-delay:.3s}
@keyframes m-tutor-pulo{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.m-tutor-pontos i{animation:none}}
@media (max-width:700px){
  dialog.m-tutor{inset:0;width:100%;height:100%;height:100dvh;border-radius:0;border:none}
  .m-tutor-form{border-radius:0}
  html.m-tutor-aberto,html.m-tutor-aberto body{overflow:hidden}
}
.m-tutor-historico{gap:12px;background:var(--fundo)}
.m-tutor-historico .m-tutor-msg small{display:block;margin-top:6px;font-size:12px}
.m-tutor-historico .m-tutor-msg.aluno small{color:#A3A3A3}
