:root{
  --ground:#F5F1E8; --surface:#FDFBF5; --surface-2:#EFE9DA;
  --ink:#1B2334; --muted:#5B6072; --accent:#A66C2E; --accent-soft:#EADFC9;
  --line:#DAD1BE; --easy:#3F7D5A; --med:#B5852A; --hard:#A6482F;
  --ouro:#B8891A; --prata:#7C8592; --bronze:#9C5A2E; --honra:#6B6355;
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#12151D; --surface:#1A1E28; --surface-2:#232834;
    --ink:#E9E4D7; --muted:#98A0B2; --accent:#D2A162; --accent-soft:#33302A;
    --line:#2E3542; --easy:#5FA97E; --med:#D6A748; --hard:#D0704F;
    --ouro:#E0B84A; --prata:#AEB7C4; --bronze:#C57B45; --honra:#9A9284;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55}
.topo{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:2px solid var(--ink);background:var(--surface)}
.marca{font-weight:bold;text-decoration:none;color:var(--ink);font-size:1.1rem}
.sair{color:var(--muted);text-decoration:none;font-size:.9rem}
.conteudo{max-width:44rem;margin:0 auto;padding:2rem 1.25rem}
h1,h2,h3{font-family:Georgia,serif}
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:1.2rem 1.4rem;margin-bottom:1.2rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}
label{display:block;margin:.6rem 0 .3rem;font-weight:bold}
input[type=text],input[type=password]{width:100%;padding:.6rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);color:var(--ink);font-size:1rem}
button, .botao{background:var(--accent);color:#fff;border:none;padding:.7rem 1.4rem;border-radius:.4rem;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;margin-top:1rem}
button:hover, .botao:hover{opacity:.9}
.erro{color:var(--hard);margin-top:.5rem}
.questao{border-bottom:1px solid var(--line);padding:1.2rem 0}
.questao:last-child{border-bottom:none}
.enunciado{white-space:pre-line;margin-bottom:.8rem}
.alternativa{display:flex;gap:.6rem;align-items:flex-start;margin:.4rem 0;cursor:pointer}
.alternativa input{margin-top:.3rem}
.pill{font-family:monospace;font-size:.72rem;padding:.15rem .5rem;border-radius:.3rem;border:1px solid;display:inline-block}
.pill.facil{color:var(--easy);border-color:var(--easy)}
.pill.media{color:var(--med);border-color:var(--med)}
.pill.dificil{color:var(--hard);border-color:var(--hard)}
.correta{border-left:4px solid var(--easy);padding-left:.8rem}
.errada{border-left:4px solid var(--hard);padding-left:.8rem}
.resumo-nota{font-size:2.4rem;font-weight:bold;color:var(--accent)}
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}
.bar{display:flex;height:1.2rem;border-radius:.25rem;overflow:hidden;border:1px solid var(--line);margin:.3rem 0}
.bar i{display:block;height:100%}
.tag{display:inline-block;background:var(--surface-2);border-radius:.3rem;padding:.2rem .6rem;margin:.15rem;font-size:.85rem}

.termometro{margin:1rem 0 1.6rem}
.termometro-topo{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}
.termometro-nota{font-size:1.6rem;font-weight:bold;color:var(--accent)}
.termometro-legenda{color:var(--muted);font-size:.85rem}
.termometro-trilho{position:relative;height:1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:.5rem;margin:.6rem .4rem 0}
.termometro-preenchido{position:absolute;top:0;left:0;height:100%;border-radius:.5rem 0 0 .5rem;background:var(--accent);transition:width .3s}
.termometro-corte{position:absolute;top:-.3rem;transform:translateX(-50%)}
.termometro-corte i{display:block;width:2px;height:1.6rem;background:var(--line)}
.termometro-corte.ouro i{background:var(--ouro)}
.termometro-corte.prata i{background:var(--prata)}
.termometro-corte.bronze i{background:var(--bronze)}
.termometro-corte.honra i{background:var(--honra)}
.termometro-legenda-cortes{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.6rem .4rem 0;font-size:.72rem;color:var(--muted)}
.termometro-legenda-cortes span{display:flex;align-items:center;gap:.3rem}
.termometro-legenda-cortes i{width:.55rem;height:.55rem;border-radius:50%;display:inline-block}
.termometro-legenda-cortes .ouro i{background:var(--ouro)} .termometro-legenda-cortes .ouro{color:var(--ouro)}
.termometro-legenda-cortes .prata i{background:var(--prata)} .termometro-legenda-cortes .prata{color:var(--prata)}
.termometro-legenda-cortes .bronze i{background:var(--bronze)} .termometro-legenda-cortes .bronze{color:var(--bronze)}
.termometro-legenda-cortes .honra i{background:var(--honra)} .termometro-legenda-cortes .honra{color:var(--honra)}
.medalha-badge{font-size:.85rem;padding:.2rem .6rem;border-radius:.3rem;border:1px solid;display:inline-block}
.medalha-badge.ouro{color:var(--ouro);border-color:var(--ouro)}
.medalha-badge.prata{color:var(--prata);border-color:var(--prata)}
.medalha-badge.bronze{color:var(--bronze);border-color:var(--bronze)}
.medalha-badge.honra{color:var(--honra);border-color:var(--honra)}
