:root{
  --paper:#f8f0e3;
  --paper-2:#eee4d2;
  --paper-3:#e4d9c1;
  --ink:#1c160c;
  --ink-soft:#4a4238;
  --ink-faint:#8a8073;
  --rule:#b9ab8f;
  --tag-gold:#8a6a35;
  --accent-curso:#8f3b2c;
  --accent-curso-dim:#712e22;
  --accent-plano:#2a3a52;
  --accent-plano-dim:#1f2c3f;
  --accent-diversos:#3c5c50;
  --accent-diversos-dim:#2e473e;
  --serif:'Fraunces', serif;
  --sans:'Inter', sans-serif;
  --mono:'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{color:inherit;}
img{max-width:100%;display:block;}
button{font:inherit;cursor:pointer;}
input{font:inherit;}
.wrap{max-width:1040px;margin:0 auto;padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}
::selection{background:var(--accent-curso);color:var(--paper);}
:focus-visible{outline:2px solid var(--accent-plano);outline-offset:3px;}

.screen{display:none;}
.screen.active{display:block;}

/* evita o flash da tela de login antes do link de recuperação de senha
   ser processado (ver <script> inline no <head>) */
html.recovery-flow #screen-login.active{display:none;}
html.recovery-flow #screen-reset-password{display:block;}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
