/* Paleta común tomada de los letreros de Pinkie Pie y Zoe. */
:root{--ink:#78248d;--candy:#ef258c;--candy-dark:#b91970;--cream:#fff8fc;--gold:#ffda55}
body{color:var(--ink)}
button{touch-action:manipulation}
#loading-screen.drive-screen{background:radial-gradient(ellipse at 50% 48%,#fff 0%,#fff4fb 48%,#f9e5f5 100%)}
.loading-progress{gap:16px;font-family:'Baloo 2',cursive;font-weight:800;color:#ce2989;text-shadow:0 2px 0 #fff;font-size:35px}
.progress-track{height:17px;border:3px solid white;background:#f5d9ec;box-shadow:0 0 0 1px #e8a7ce,0 4px 0 #eac5df,0 7px 16px #c35b9d17}
.progress-fill{position:relative;background:linear-gradient(180deg,#ff8bc8,#f23a9b 55%,#d92385);border-radius:20px}
.progress-fill:before{content:'';position:absolute;left:5px;right:5px;top:2px;height:3px;background:#ffffff70;border-radius:10px}
.character-entry .entry-foot{display:inline-block;max-width:94%;padding:6px 14px!important;background:#fff7fce8;border:1px solid #fff;border-radius:20px;font-weight:700;font-size:11px!important;color:#964381;box-shadow:0 2px 8px #98529712;text-shadow:none}
.entry-step{gap:8px}.entry-step span{width:7px;height:7px;background:#fffb;box-shadow:0 0 0 1px #e5b2d4}.entry-step .active{width:22px;background:linear-gradient(90deg,#f55ba9,#ce398f);box-shadow:0 0 0 1px #fff}
header{color:#85328d}.brand{background:#fff9fccc;border:1px solid #fff;padding:4px 11px;border-radius:25px;font-size:10px;letter-spacing:1.7px}.brand span{color:#d83e9d}
.hero{border:2px solid #fff9;border-radius:27px;box-shadow:inset 0 0 25px #fff3,0 3px 12px #bb81b810;background:linear-gradient(180deg,#fff4fc33,#fff9fc77)}
.eyebrow{color:#8f318f;background:linear-gradient(#fff,#ffedf8);border:2px solid white;box-shadow:0 0 0 1px #edb6dc,0 3px 0 #e6b9d862;letter-spacing:2px;font-weight:800}
.adventure{color:#9a238c;text-shadow:0 1px 0 #fff,0 0 8px #fff;font-weight:700}
.hero .age{font-family:'Baloo 2',cursive;color:#b82a90;font-weight:800;text-shadow:0 2px 0 white,1px 0 0 white,-1px 0 0 white;margin-top:6px}
.five{color:#f42b92;text-shadow:2px 2px 0 white,-1px -1px 0 white,0 4px 0 #b83a8e;font-size:1.7em}
.party-countdown{border:2px solid #fff;background:linear-gradient(150deg,#fffdfef2,#ffe6f5ed);box-shadow:0 0 0 1px #edb1d6,0 4px 0 #dbabd14d;border-radius:17px;color:#a0348c}
.party-countdown span{color:#bf4599;font-weight:800}.party-countdown strong{color:#83328a;font-weight:700}
.hero .intro{color:#762d82;font-weight:600;text-shadow:0 1px 0 #fff,0 0 8px #fff,0 0 15px #fff}
.details .grid{background:linear-gradient(130deg,#fffcfef5,#ffedf8f5);border:2px solid white;box-shadow:0 0 0 1px #e8acd4,0 4px 0 #cf8eb839,0 8px 18px #9c3e8214;border-radius:21px}
.item+.item{border-left-color:#eac6df}.item h3{color:#ad4295;font-weight:800}.item p{color:#7f2a87;font-weight:700}.icon{filter:drop-shadow(0 2px 0 white)}
.whatsapp{position:relative;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff8fc!important;border-radius:22px!important;background:linear-gradient(#ff8dc9,#f13d9c 52%,#d72785)!important;color:white!important;font-family:'Baloo 2',cursive;font-weight:800!important;text-shadow:0 1px 0 #ad1e72;box-shadow:0 0 0 1px #e35b9f,0 4px 0 #b92d78,0 7px 12px #b4578a22;font-size:16px;padding:10px 23px;min-height:44px;transition:transform .2s}
.whatsapp:hover{transform:translateY(-1px)}.whatsapp:active{transform:translateY(2px)}.whatsapp:focus-visible{outline:3px solid #773183;outline-offset:5px}
.rsvp-note{color:#80398a;text-shadow:0 1px 0 white;font-weight:600}
.gift-line{display:inline-block;color:#ac2b86;background:#fff5fbd9;border:1px solid white;border-radius:25px;padding:3px 15px;font-weight:700;text-shadow:0 1px 0 white}
.closing #feedback:not(:empty){border:1px solid #e7acd1;color:#85318c}
@media(max-width:600px){
 header{height:32px;padding:5px 14px}.brand{padding:3px 8px;font-size:8px;letter-spacing:1.1px}.brand span{font-size:13px}
 main{height:calc(100svh - 32px);gap:9px;padding-left:13px;padding-right:13px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .hero{padding:9px 10px 12px;border-radius:23px}.eyebrow{font-size:7px;padding:4px 11px}
 .adventure{font-size:clamp(13px,2.25svh,17px);margin-top:8px}.zoe-sticker{margin-top:5px;max-height:28svh;filter:drop-shadow(0 6px 5px #9f4b8a25)}
 .hero .age{font-size:clamp(25px,4.1svh,34px);margin-top:5px;line-height:1.2}
 .party-countdown{padding:6px 15px;gap:4px;margin-top:9px}.party-countdown span{font-size:7px}.party-countdown strong{font-size:10px}
 .hero .intro{font-size:clamp(10px,1.7svh,12px);line-height:1.5;margin-top:9px}
 .details .grid{margin-bottom:10px;border-radius:18px}.item{padding:9px 4px}.item h3{font-size:7px;letter-spacing:.8px;margin:3px 0 5px}.item p{font-size:10px;line-height:1.4;margin:0}.icon{font-size:19px;line-height:1.2}
 .whatsapp{font-size:14px!important;padding:8px 23px!important;min-height:38px}.rsvp-note{margin-top:7px;font-size:8px}.gift-line{font-size:13px;margin-top:5px;padding:3px 12px;line-height:1.2}
 .loading-progress{font-size:31px;width:76%}.progress-track{height:15px}
}
@media(max-width:600px) and (max-height:620px){
 header{height:27px;padding:3px 12px}main{height:calc(100svh - 27px);gap:7px;padding-bottom:8px}.hero{padding:7px 8px 9px}.adventure{font-size:12px;margin-top:5px}.zoe-sticker{max-height:24svh;margin-top:3px}.hero .age{font-size:24px;margin-top:4px}.party-countdown{margin-top:6px;padding:5px 12px;gap:2px}.party-countdown strong{font-size:9px}.hero .intro{font-size:9px;margin-top:6px}.item{padding:6px 3px}.item h3{font-size:6px}.item p{font-size:9px}.icon{font-size:16px}.details .grid{margin-bottom:8px}.whatsapp{font-size:13px!important;min-height:33px;padding:6px 20px!important}.rsvp-note{font-size:7px;margin-top:6px}.gift-line{font-size:12px;margin-top:4px;padding:2px 10px}
}
@media(prefers-reduced-motion:reduce){.whatsapp{transition:none}}

/* Bienvenida con el mismo fondo de carga. */
#envelope-screen.character-entry{background:radial-gradient(ellipse at 50% 48%,#fff 0%,#fff4fb 48%,#f9e5f5 100%)}

/* Sin rótulo superior: aprovechar toda la pantalla móvil. */
@media(max-width:600px){#invitation-card>header{display:none}#invitation-card>main{height:100svh;padding-top:9px}}

/* Mantener el carro completo dentro de la zona animada. */
.loading-car{padding:4px 0 10px}.loading-car img{max-height:100%;object-fit:contain;object-position:center bottom}

.music-toggle{position:fixed;z-index:12;top:max(12px,env(safe-area-inset-top));right:max(13px,env(safe-area-inset-right));display:grid;place-items:center;width:38px;height:38px;border:2px solid white;border-radius:50%;background:linear-gradient(#ff8ac8,#e72a8c);color:white;font-size:18px;font-weight:800;box-shadow:0 0 0 1px #e8a5ce,0 3px 0 #b42b78;cursor:pointer}.music-toggle:focus-visible{outline:3px solid #773183;outline-offset:4px}@media(max-width:600px){.music-toggle{width:32px;height:32px;top:14px;right:18px;font-size:15px}}
