/* Pulso — reset e estilos de base usados em todas as páginas. */
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--noite);
  color:var(--pergaminho);
  font-family:var(--font-body);
  line-height:1.5;
  overflow-x:hidden;
}
h1,h2,h3{ font-family:var(--font-display); font-weight:600; letter-spacing:-0.01em; }
a{ color:var(--coral); text-decoration:none; }
.mono{ font-family:var(--font-mono); }
.wrap{ max-width:980px; margin:0 auto; padding:0 24px; }
.wrap-narrow{ max-width:460px; margin:0 auto; padding:0 24px; }

.section-label{
  font-family:var(--font-mono); font-size:12px;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--pergaminho-dim); margin-bottom:10px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; border-radius:10px; border:none;
  font-family:var(--font-body); font-size:14.5px; font-weight:600;
  cursor:pointer; text-decoration:none;
}
.btn-primary{ background:var(--coral); color:var(--noite); }
.btn-primary:hover{ background:var(--coral-dim); }
.btn-outline{ background:transparent; border:1px solid var(--line); color:var(--pergaminho); }
.btn-outline:hover{ border-color:var(--coral); }
.btn-block{ width:100%; }
.btn:disabled{ opacity:0.5; cursor:not-allowed; }

.panel{
  border:1px solid var(--line); border-radius:18px; padding:28px;
  margin-bottom:24px;
  background:rgba(243,236,223,0.02);
}
.panel h3{ font-size:20px; margin-bottom:4px; }
.panel .desc{ font-size:14px; color:var(--pergaminho-dim); margin-bottom:20px; }

.rank-row{
  display:flex; align-items:center; gap:14px; padding:10px 0;
  border-bottom:1px solid var(--line);
}
.rank-row:last-child{ border-bottom:none; }
.rank-row .name{ flex:1; font-weight:500; }
.rank-row .bar-bg{ flex:2; height:8px; border-radius:4px; background:var(--line); overflow:hidden; }
.rank-row .bar-fill{ height:100%; background:var(--coral); border-radius:4px; }
.rank-row .val{ font-family:var(--font-mono); font-size:13px; color:var(--pergaminho-dim); width:70px; text-align:right; }

footer{
  padding:40px 0 60px; text-align:center;
  color:var(--pergaminho-dim); font-size:13px;
  border-top:1px solid var(--line); margin-top:40px;
}

.field{ margin-bottom:18px; }
.field label{ display:block; font-size:13.5px; margin-bottom:7px; color:var(--pergaminho-dim); }
.field input, .field select{
  width:100%; padding:13px 14px; border-radius:10px;
  border:1px solid var(--line); background:rgba(243,236,223,0.04);
  color:var(--pergaminho); font-family:var(--font-body); font-size:14.5px;
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--coral); }

.badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px; border-radius:999px;
  font-family:var(--font-mono); font-size:12px; font-weight:700;
}
.badge-free{ background:rgba(134,167,137,0.15); color:var(--musgo); }
.badge-premium{ background:rgba(232,179,76,0.18); color:var(--ouro); }

@media (max-width:640px){
  .panel{ padding:20px; }
}
