/* ---------- Flashcards (feitos das lacunas da lei seca) ---------- */
.fc kbd { font:500 11px var(--f-mono); padding:1px 6px; border-radius:4px; border:1px solid currentColor; opacity:.7; margin-left:6px; text-transform:lowercase; letter-spacing:0; }

/* catálogo de matérias */
.fc-materias { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.fc-mat { display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--text); transition:border-color .15s, transform .15s; }
.fc-mat:hover { border-color:var(--accent-line); transform:translateY(-2px); }
.fc-mat .ls-data { color:var(--accent-text); }
.fc-mat strong { font:800 26px/1 var(--f-display); text-transform:uppercase; }
.fc-mat.travada { opacity:.6; }
.fc-siglas { display:flex; flex-wrap:wrap; gap:6px; }
.fc-siglas span { padding:3px 9px; border-radius:99px; border:1px solid var(--border-2); background:var(--field); font:500 11px var(--f-mono); color:var(--text-2); }
.fc-siglas span.travada { border-style:dashed; color:var(--text-3); }
.fc-mat-barra { display:block; height:6px; border-radius:99px; background:var(--track); overflow:hidden; }
.fc-mat-barra i { display:block; height:100%; background:var(--accent); border-radius:inherit; }
.fc-mat-nums { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:13px; color:var(--text-3); }
.fc-mat-nums b { color:var(--text); font-weight:600; }
.fc-mat-nums .fc-vence b, .fc-mat-nums .fc-vence { color:var(--accent-text); }

/* estudo */
.fc-hero h1 { font-size:clamp(34px,5vw,54px); }
.fc-barra { position:static; }
.fc-barra .ls-modos button { padding:8px 13px; font-size:14px; }
.fc-barra .ls-chip[aria-pressed="true"] { background:var(--accent-soft); border-color:var(--accent-line); color:var(--accent-text); }
.fc-chip-pro { text-decoration:none; border-style:dashed; opacity:.7; }
.fc-palco { width:100%; max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }

.fc-progresso { display:grid; grid-template-columns:auto 1fr auto auto; gap:12px; align-items:center; font:500 12px var(--f-mono); color:var(--text-3); }
.fc-trilho { height:5px; border-radius:99px; background:var(--track); overflow:hidden; }
.fc-trilho i { display:block; height:100%; background:var(--accent); transition:width .25s; }
.fc-ok { color:#2E7D52; } .fc-err { color:#B0323C; }
:root[data-theme="escuro"] .fc-ok { color:#8FD3AA; } :root[data-theme="escuro"] .fc-err { color:#F0A0A6; }

.fc-cartao { min-height:300px; padding:26px 30px 30px; display:flex; flex-direction:column; gap:16px; cursor:pointer; border-top:3px solid var(--accent); transition:transform .12s, box-shadow .12s; }
.fc-cartao:not(.virado):hover { transform:translateY(-2px); }
.fc-cartao:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.fc-cartao.virado { cursor:default; border-top-color:#2E7D52; }
.fc-topo { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; }
.fc-lei { font:800 15px var(--f-display); letter-spacing:.6px; text-transform:uppercase; color:var(--accent-text); }
.fc-art { font:700 22px/1 var(--f-display); text-transform:uppercase; }
.fc-epi { font-size:14px; color:var(--text-2); font-style:italic; }
.fc-sit { margin-left:auto; padding:3px 9px; border-radius:99px; font:500 10px var(--f-mono); letter-spacing:1px; text-transform:uppercase; border:1px solid var(--border-2); color:var(--text-3); }
.fc-sit.rev { background:var(--accent-soft); border-color:var(--accent-line); color:var(--accent-text); }
.fc-sit.rep { border-style:dashed; }
.fc-contexto { display:flex; flex-direction:column; gap:6px; padding-left:12px; border-left:2px solid var(--border-2); color:var(--text-3); font-size:15px; line-height:1.5; }
.fc-contexto p { margin:0; }
.fc-contexto .ls-ali, .fc-contexto .ls-item { padding-left:14px; }
.fc-linha { margin:0; font-size:20px; line-height:1.6; color:var(--text); }
.fc-rot { font-weight:700; }
.fc-alvo { display:inline-block; width:var(--w,8ch); height:1.15em; vertical-align:-.15em; border-radius:5px; background:#F6E9EA; border-bottom:2px solid #C9878D; }
:root[data-theme="escuro"] .fc-alvo { background:rgba(115,31,38,.3); border-bottom-color:#8E4A50; }
mark.fc-alvo.revelado { display:inline; width:auto; height:auto; padding:0 4px; -webkit-box-decoration-break:clone; box-decoration-break:clone; background:#E7F2EA; color:#1E5B3A; border-bottom:2px solid #7FB596; font-weight:600; }
:root[data-theme="escuro"] mark.fc-alvo.revelado { background:rgba(46,125,82,.22); color:#8FD3AA; border-bottom-color:#3F7A58; }
.fc-pergunta { margin:auto 0 0; font:500 11px var(--f-mono); letter-spacing:1.3px; text-transform:uppercase; color:var(--text-3); }

.fc-acoes { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.fc-acoes .fc-virar { grid-column:1 / -1; min-height:52px; font-size:17px; }
.fc-btn { min-height:52px; border:0; border-radius:10px; font:700 17px var(--f-display); text-transform:uppercase; letter-spacing:.6px; color:#fff; cursor:pointer; }
.fc-btn.nao { background:#B0323C; } .fc-btn.nao:hover { background:#93272F; }
.fc-btn.sim { background:#2E7D52; } .fc-btn.sim:hover { background:#246642; }
.fc-btn:focus-visible, .fc-virar:focus-visible { outline:2px solid var(--text); outline-offset:2px; }
.fc-rodape { margin:0; text-align:center; font-size:13px; }
.fc-rodape a { color:var(--accent-text); }

/* fim de sessão */
.fc-fim { display:flex; flex-direction:column; gap:14px; text-align:center; align-items:center; padding:32px; }
.fc-fim .ls-data { color:var(--accent-text); }
.fc-fim h2 { margin:0; font:800 clamp(34px,5vw,48px)/1 var(--f-display); text-transform:uppercase; }
.fc-fim h2 span { color:var(--accent-text); }
.fc-fim p { margin:0; color:var(--text-2); max-width:460px; }
.fc-fim-nums { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fc-fim-nums b { display:block; font:800 34px/1 var(--f-display); }
.fc-fim-nums small { font:500 10px var(--f-mono); letter-spacing:1px; text-transform:uppercase; color:var(--text-3); }
.fc-fim-nums .ok b { color:#2E7D52; } .fc-fim-nums .err b { color:#B0323C; }
.fc-errados { width:100%; text-align:left; border-top:1px solid var(--border); padding-top:14px; }
.fc-errados ul { list-style:none; margin:8px 0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:15px; }
.fc-fim-btns { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.fc-fim-btns .btn { text-decoration:none; }

@media (max-width: 760px) {
  .fc-barra { flex-direction:column; align-items:stretch; }
  .fc-cartao { padding:20px 18px 22px; min-height:260px; }
  .fc-linha { font-size:18px; }
  .fc-sit { margin-left:0; }
  .fc kbd { display:none; }
}

/* só Pro */
.fc-pro { display:flex; flex-direction:column; align-items:flex-start; gap:10px; max-width:560px; }
.fc-pro strong { font:800 24px/1.1 var(--f-display); text-transform:uppercase; }
.fc-pro p { margin:0; }
.fc-pro .tag-pro { padding:3px 9px; border-radius:99px; font:500 11px var(--f-mono); letter-spacing:1px; }

/* filtro do edital */
.fc-edital-dica { margin:0; }
.fc-edital { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; border-left:3px solid var(--accent); }
.fc-edital-corpo { display:flex; flex-direction:column; gap:4px; min-width:0; flex:1 1 320px; }
.fc-edital-nome { font:800 24px/1.1 var(--f-display); text-transform:uppercase; }
.fc-edital-corpo p { margin:2px 0 0; color:var(--text-2); font-size:14px; }
.fc-edital-nums { display:flex; gap:26px; }
.fc-edital-nums div { display:flex; flex-direction:column; }
.fc-edital-nums b { font:800 30px/1 var(--f-display); }
.fc-edital-nums b small { font-size:18px; color:var(--text-3); }
.fc-edital-nums span { font:500 10px var(--f-mono); letter-spacing:1.2px; text-transform:uppercase; color:var(--text-3); }
.fc-edital-trocar { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.fc-edital-trocar a { text-decoration:none; }
.fc-edital-rodape { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid var(--border); padding-top:12px; }
.fc-edital-rodape summary { cursor:pointer; font-size:13px; color:var(--text-2); }
.fc-edital-rodape details p { margin:6px 0 0; max-width:640px; }
.fc .btn-mini { padding:7px 12px; font-size:12px; }

/* escolha: embaralhar ou escolher assuntos */
.fc-escolha { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:14px; align-items:start; }
.fc-opcao { display:flex; flex-direction:column; gap:8px; text-align:left; font:inherit; color:var(--text); border-top:3px solid var(--border-2); }
.fc-opcao.atual { border-top-color:var(--accent); }
.fc-opcao strong { font:800 24px/1.05 var(--f-display); text-transform:uppercase; }
.fc-opcao .ls-data { color:var(--accent-text); }
button.fc-opcao { cursor:pointer; transition:border-color .15s, transform .15s; }
button.fc-opcao:hover { transform:translateY(-2px); border-color:var(--accent-line); }
button.fc-opcao > b { margin-top:8px; font:700 16px var(--f-display); text-transform:uppercase; letter-spacing:.6px; color:var(--accent-text); }
.fc-assuntos-acoes { display:flex; gap:14px; }
.fc-lista-assuntos { list-style:none; margin:4px 0; padding:0; max-height:420px; overflow:auto; border:1px solid var(--border); border-radius:10px; }
.fc-lista-assuntos li { border-bottom:1px solid var(--border); }
.fc-lista-assuntos li:last-child { border-bottom:0; }
.fc-lista-assuntos label { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:start; padding:9px 12px 9px calc(12px + var(--nivel, 0) * 18px); cursor:pointer; font-size:14px; line-height:1.35; }
.fc-lista-assuntos label:hover { background:var(--hover); }
.fc-lista-assuntos input { margin-top:3px; accent-color:var(--accent); }
.fc-lista-assuntos li.sem label { cursor:default; color:var(--text-3); }
.fc-assunto-n { font:500 11px var(--f-mono); color:var(--text-3); white-space:nowrap; padding-top:2px; }
.fc-lista-assuntos li:not(.sem) .fc-assunto-n { color:var(--accent-text); }
.fc-comecar-sel { min-height:48px; }
.fc-comecar-sel:disabled { opacity:.5; cursor:not-allowed; }
.fc-estudo .fc-palco:has(.fc-escolha) { max-width:1100px; }

@media (max-width: 860px) {
  .fc-escolha { grid-template-columns:1fr; }
}

/* pergunta e resposta */
.fc-pergunta-txt { margin:0; font:600 22px/1.4 var(--f-body); color:var(--text); }
.fc-resposta { margin-top:auto; padding:14px 16px; border-radius:10px; background:#E7F2EA; border-left:3px solid #2E7D52; }
.fc-resposta .rotulo { color:#1E5B3A; }
.fc-resposta p { margin:6px 0 0; font-size:18px; line-height:1.5; color:#14321F; }
:root[data-theme="escuro"] .fc-resposta { background:rgba(46,125,82,.18); border-left-color:#3F7A58; }
:root[data-theme="escuro"] .fc-resposta .rotulo { color:#8FD3AA; }
:root[data-theme="escuro"] .fc-resposta p { color:#DCEFE2; }
.fc-cartao .fc-art { font-size:17px; }
.fc-errado-resp { display:block; margin-top:2px; color:var(--text-2); font-size:14px; }
@media (max-width: 760px) { .fc-pergunta-txt { font-size:19px; } .fc-resposta p { font-size:16px; } }
