:root{--ouro:#F5C451;--ouro-claro:#FFE9A8;--creme:#FFF6DA;--roxo:#8B5FBF;--texto:#F4EAFF;--noite:#120B3A}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:#120B3A;-webkit-text-size-adjust:100%}
body{font-family:'Cinzel',Georgia,'Times New Roman',serif;color:var(--texto);min-height:100vh;
  background:radial-gradient(120% 55% at 50% 108%,rgba(255,190,90,.38),transparent 62%),
  linear-gradient(180deg,#120B3A 0%,#241660 38%,#43297F 72%,#6E3F95 100%);background-attachment:fixed;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px)}
.fx{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.star{position:absolute;border-radius:50%;background:#FFF3C4;box-shadow:0 0 6px 1px rgba(255,230,160,.85);
  opacity:.15;animation:tw var(--d) ease-in-out infinite;animation-delay:var(--dl)}
@keyframes tw{0%,100%{opacity:.12;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}
.lan{position:absolute;bottom:-150px;opacity:0;animation:subir var(--t) linear infinite;animation-delay:var(--dl);
  filter:drop-shadow(0 0 12px rgba(255,200,110,.8))}
.lan svg{display:block}
@keyframes subir{0%{transform:translate3d(0,0,0) rotate(-3deg);opacity:0}
  8%{opacity:var(--o)}50%{transform:translate3d(var(--dx),-65vh,0) rotate(3deg)}
  92%{opacity:var(--o)}100%{transform:translate3d(calc(var(--dx) * -.6),-130vh,0) rotate(-3deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.lan,.star{animation:none}.star{opacity:.7}.lan{display:none}}
.btn{font-family:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;cursor:pointer;
  border:0;border-radius:999px;padding:.95em 1.6em;color:#34195C;
  background:linear-gradient(180deg,#FFF0B8 0%,#F5C451 55%,#E0A02A 100%);
  box-shadow:0 0 0 1px rgba(255,236,170,.7) inset,0 6px 18px rgba(245,196,81,.35),0 0 22px rgba(245,196,81,.25);
  transition:transform .15s,box-shadow .2s,filter .2s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:default;filter:grayscale(.4);transform:none}
.btn.grande{width:100%;padding:1.1em 1.4em;font-size:.9rem}
.mini{font-family:inherit;font-weight:700;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  border:1px solid rgba(245,196,81,.7);background:rgba(245,196,81,.14);color:var(--ouro-claro);border-radius:999px;padding:.55em 1em}
.mini:hover{background:rgba(245,196,81,.28)}
.link{font-family:inherit;background:none;border:0;color:var(--ouro-claro);opacity:.8;text-decoration:underline;cursor:pointer;font-size:.78rem;letter-spacing:.04em;padding:.7em}
label{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro-claro);margin-bottom:.45rem;font-weight:600}
input,textarea{width:100%;font-family:inherit;font-size:1rem;color:#fff;background:rgba(10,6,40,.55);
  border:1px solid rgba(245,196,81,.45);border-radius:14px;padding:.85em 1em;outline:none;transition:border-color .2s,box-shadow .2s}
input::placeholder,textarea::placeholder{color:rgba(244,234,255,.45)}
input:focus,textarea:focus{border-color:var(--ouro);box-shadow:0 0 0 3px rgba(245,196,81,.2)}
textarea{resize:vertical;min-height:110px}
.erro{color:#FFB4B4;font-size:.78rem;margin-top:.5rem;letter-spacing:.02em}
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;
  background:rgba(255,246,218,.97);color:#3B1F66;font-weight:700;font-size:.8rem;letter-spacing:.04em;padding:.8em 1.4em;border-radius:999px;
  box-shadow:0 8px 28px rgba(0,0,0,.4),0 0 20px rgba(245,196,81,.5);transition:.3s;z-index:100;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}
.divisor{display:flex;align-items:center;justify-content:center;gap:14px;margin:1.2rem auto;max-width:320px}
.divisor i{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(245,196,81,.8),transparent)}
.divisor svg{width:22px;height:22px;filter:drop-shadow(0 0 6px rgba(255,220,130,.9))}
