:root{--verm:#e3262e;--amar:#ffd21f;--azul:#1c63c9;--tinta:#1b1b2f;--creme:#fffdf3}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:'Cinzel',Georgia,serif;color:var(--tinta);background:linear-gradient(#5db8f5,#c6ebff 70%,#fff6c9);background-attachment:fixed;overflow-x:hidden}
#aviso{position:fixed;inset:0 0 auto 0;z-index:100;background:#b00020;color:#fff;font-weight:900;text-align:center;padding:14px 16px;font-size:1rem;border-bottom:4px solid #ffd21f}
#aviso[hidden]{display:none}
#ceu{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sobe{position:absolute;bottom:-190px;border-radius:50% 50% 48% 48%/56% 56% 44% 44%;opacity:.85;animation:subir linear infinite;box-shadow:inset -6px -8px 14px rgba(0,0,0,.15)}
.sobe::before{content:"";position:absolute;top:14%;left:20%;width:18%;height:14%;border-radius:50%;background:rgba(255,255,255,.7)}
.sobe::after{content:"";position:absolute;top:100%;left:50%;width:2px;height:70px;background:rgba(60,60,60,.5)}
@keyframes subir{0%{transform:translate(0,0) rotate(-7deg)}50%{transform:translate(36px,-65vh) rotate(7deg)}100%{transform:translate(-10px,-135vh) rotate(-7deg)}}
@media (prefers-reduced-motion:reduce){.sobe{animation:none;bottom:auto;top:20%}}
.bal{--c:var(--verm);position:relative;border:0;cursor:pointer;font:900 1rem 'Cinzel',serif;color:#fff;width:124px;height:142px;margin:6px 14px 52px;border-radius:50% 50% 48% 48%/56% 56% 44% 44%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.7) 0 8%,transparent 9%),radial-gradient(ellipse at 50% 38%,var(--c) 55%,color-mix(in srgb,var(--c) 68%,#000));box-shadow:inset -8px -10px 18px rgba(0,0,0,.2);transition:transform .2s}
.bal::before{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);border:9px solid transparent;border-top:0;border-bottom:11px solid var(--c)}
.bal::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:42px;margin-top:2px;background:#555;transform:translateX(-50%)}
.bal:hover:not(:disabled){transform:translateY(-8px) scale(1.05)}
.bal:focus-visible{outline:4px solid var(--tinta);outline-offset:6px}
.bal:disabled{filter:grayscale(1);opacity:.55;cursor:not-allowed}
.bal.larga{width:190px;height:136px}
.bal.amar{--c:var(--amar);color:var(--tinta)}.bal.azul{--c:var(--azul)}
.btns{display:flex;justify-content:center;flex-wrap:wrap}
#splash{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:linear-gradient(#5db8f5,#c6ebff 70%,#fff6c9)}
#splash[hidden]{display:none}
#splash img{max-height:46vh;max-width:80vw}
.data{font-weight:900;font-size:1.15rem;margin:10px 0 18px}
main{position:relative;z-index:2;max-width:560px;margin:0 auto;padding:78px 16px 40px}
main[hidden]{display:none}
.logo{display:block;margin:0 auto;max-height:300px;max-width:70%}
.card{background:var(--creme);border:5px solid var(--verm);box-shadow:0 0 0 5px var(--amar),0 14px 30px rgba(0,0,0,.18);border-radius:26px;padding:26px 20px 8px;margin-top:14px;text-align:center}
fieldset{border:0;margin:0;padding:0;min-width:0}
.passo[hidden],[hidden]{display:none!important}
.q{display:block;font-weight:900;font-size:1.3rem;margin-bottom:14px;line-height:1.3}
input,textarea{width:100%;font:600 1.05rem 'Cinzel',serif;color:var(--tinta);padding:12px 14px;border:3px solid var(--azul);border-radius:14px;background:#fff;margin-bottom:8px}
input:focus,textarea:focus{outline:4px solid var(--amar)}
#nomes input{margin-bottom:10px}
.erro{color:#b00020;font-weight:700;min-height:1.4em;margin:4px 0}
.fim h2{font-size:1.6rem;margin:6px 0 10px}.fim p{font-weight:600;line-height:1.5}
#som{position:fixed;top:54px;right:10px;z-index:60;width:54px;height:54px;border-radius:50%;border:3px solid var(--tinta);background:var(--amar);font-size:1.4rem;cursor:pointer}
body.bloq #som{top:70px}
body.bloq main{padding-top:110px}
