[hidden]{display:none!important}
body.in-entry{overflow:hidden}
.entry-screen{position:fixed;inset:0;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));background:linear-gradient(#fff7fc87,#f1ddfaab),url('fondo-castillo.png') center/cover;z-index:20;overflow:hidden}
.entry-inner{position:relative;width:min(100%,460px);display:flex;flex-direction:column;align-items:center;gap:16px}
.entry-label{font-size:10px;letter-spacing:3px;font-weight:700;background:#ffffffd9;padding:8px 17px;border-radius:25px}
.entry-screen h2{font-size:clamp(31px,6vw,44px);margin:0;line-height:1.12;color:#80469b;text-shadow:0 2px 0 #fff}
.entry-screen p{font-size:14px;line-height:1.7;margin:0;max-width:300px;font-weight:600}
.load-orbit{position:relative;width:112px;height:112px;display:grid;place-items:center;margin:8px 0 16px;font-size:50px;color:#b367be}
.load-orbit:before{content:'';position:absolute;inset:0;border:3px solid #ffffffb0;border-top-color:#e473b7;border-right-color:#ab83d3;border-radius:50%;animation:orbit 2s linear infinite}
.load-orbit:after{content:'✧';position:absolute;right:-6px;top:3px;font-size:28px;color:#b377cc}
.loading-dots{display:flex;gap:8px;margin-top:8px}.loading-dots i{width:7px;height:7px;background:#b879c8;border-radius:50%;animation:dot 1.2s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}
.entry-dust{position:absolute;inset:0;pointer-events:none;color:#ae6ec4}.entry-dust span{position:absolute;font-size:25px;animation:twinkle 4s ease-in-out infinite}.entry-dust span:nth-child(1){top:13%;left:13%}.entry-dust span:nth-child(2){top:27%;right:9%;animation-delay:1s}.entry-dust span:nth-child(3){bottom:15%;left:12%;animation-delay:2s}.entry-dust span:nth-child(4){bottom:19%;right:15%;font-size:32px}
.envelope{position:relative;width:min(270px,68vw);height:175px;margin:16px 0 12px;filter:drop-shadow(0 16px 18px #744d9138);perspective:650px}
.letter{position:absolute;left:8%;right:8%;height:140px;top:-13px;border:1px solid #e7c0de;border-radius:13px;background:#fff8fc;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:15px;color:#ae5f9f;transition:transform .6s ease}
.letter b{font-family:'Baloo 2',cursive;font-size:26px}.letter span{font-size:10px;letter-spacing:2px;font-weight:700}.envelope-back{position:absolute;inset:0;border-radius:13px;background:#dda7d3;border:2px solid #fff7}
.envelope-front{position:absolute;inset:0;border-radius:12px;background:linear-gradient(32deg,#edbddf 49.5%,transparent 50%) left/51% 100% no-repeat,linear-gradient(-32deg,#f4cce9 49.5%,transparent 50%) right/51% 100% no-repeat;z-index:3;border-bottom:2px solid #fff8}
.envelope-flap{position:absolute;inset:0;background:#f8d9ed;clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top;z-index:4;transition:transform .55s ease}
.envelope-seal{position:absolute;z-index:5;left:calc(50% - 24px);top:74px;background:#b17ac9;color:white;border:3px solid #eed7f5;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:opacity .2s ease}
.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.opening .envelope-seal{opacity:0}.opening .letter{transform:translateY(-45px)}
.open-invite{background:linear-gradient(120deg,#aa70c2,#8d59ad);color:white;border:2px solid #ffffffb3;box-shadow:0 5px 0 #dac1e7,0 8px 22px #8550a126;border-radius:40px;padding:15px 25px;min-height:48px;font-weight:700;font-size:14px}.open-invite:hover{background:#8750a6}.open-invite:focus-visible{outline:3px solid #70408d;outline-offset:5px}.entry-foot{font-size:11px!important;color:#956aa3}.entry-step{display:flex;gap:7px;margin-top:9px}.entry-step span{height:5px;width:18px;background:#fff9;border-radius:8px}.entry-step .active{background:#ae73c1}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes dot{50%{opacity:.3;transform:translateY(-4px)}}
@media(max-height:620px){.entry-inner{gap:11px}.envelope{height:145px;width:230px;margin:9px 0}.envelope-seal{top:58px}.entry-screen h2{font-size:30px}.entry-screen p{font-size:12px}.entry-label{font-size:8px}.open-invite{padding:11px 20px}.entry-foot{font-size:10px!important}.letter{height:115px}.letter b{font-size:22px}}
@media(prefers-reduced-motion:reduce){.entry-screen *{animation:none!important;transition:none!important}}

/* Pantalla de carga: carrito y porcentaje únicamente. */
#loading-screen.drive-screen{background:#fff3fb;background-image:none;padding:20px;overflow:hidden}.drive-content{width:min(100%,1000px);display:flex;flex-direction:column;gap:28px;align-items:center}.car-lane{width:100%;position:relative;height:clamp(160px,28vw,280px)}.loading-car{width:clamp(240px,52vw,420px);max-width:78%;height:100%;position:absolute;top:0;left:0;will-change:transform;display:flex;align-items:flex-end}.loading-car img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 12px 8px #b45f9a20);animation:car-bounce .4s ease-in-out infinite alternate}.loading-progress{font-family:'Baloo 2',cursive;font-weight:700;font-size:clamp(28px,5vw,40px);color:#ab58a2;line-height:1.1;font-variant-numeric:tabular-nums}.loading-progress span{display:block;min-width:100px;text-align:center}@keyframes car-bounce{to{transform:translateY(-3px) rotate(-.4deg)}}@media(max-width:600px){#loading-screen.drive-screen{padding:16px}.drive-content{gap:24px}.car-lane{height:180px}.loading-car{width:74%;max-width:74%}}@media(prefers-reduced-motion:reduce){.loading-car{left:50%;translate:-50% 0;will-change:auto}.loading-car img{animation:none!important}}

.loading-progress{width:min(76%,360px);display:flex;flex-direction:column;align-items:center;gap:14px}.progress-track{width:100%;height:13px;background:#ead9ec;border:2px solid #fff;border-radius:30px;overflow:hidden;box-shadow:0 2px 7px #a56c9d18}.progress-fill{height:100%;width:100%;border-radius:30px;background:linear-gradient(90deg,#db81c2,#b077ca,#ed99ca);transform:scaleX(0);transform-origin:left center;will-change:transform}

/* Nueva bienvenida con la imagen suministrada. */
.character-entry .entry-inner{gap:14px;width:min(100%,480px)}.invite-art{position:relative;width:min(100%,370px);height:min(64svh,500px);display:grid;place-items:center;animation:invite-arrive .7s cubic-bezier(.2,.7,.3,1) both}.invite-character{display:block;width:100%;height:100%;object-fit:contain;border-radius:32px;filter:drop-shadow(0 10px 16px #9b5e9c30);animation:invite-bob 2.8s ease-in-out infinite;transform-origin:50% 80%}.invite-glint{position:absolute;color:#f3c44a;font-size:30px;text-shadow:0 0 10px white;pointer-events:none;animation:invite-sparkle 2s ease-in-out infinite}.g1{left:2%;top:18%}.g2{right:0;top:45%;animation-delay:.7s;color:#bb78cd}.g3{left:5%;bottom:12%;animation-delay:1.2s;color:#e66ba7}.character-entry.opening .invite-art{animation:invite-open .65s ease-in forwards}.character-entry.opening .invite-character{animation:none}.character-entry.opening .open-invite{opacity:.5;transition:opacity .3s}@keyframes invite-bob{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-7px) rotate(.7deg)}}@keyframes invite-sparkle{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}@keyframes invite-arrive{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes invite-open{to{opacity:0;transform:scale(1.1) translateY(-12px)}}@media(max-width:600px){.character-entry{padding:18px 22px}.character-entry .entry-inner{gap:12px}.invite-art{width:min(100%,340px);height:min(65svh,440px)}.invite-character{border-radius:24px}.character-entry .open-invite{font-size:13px;padding:13px 23px}.character-entry .entry-foot{font-size:10px!important}}@media(max-height:620px){.character-entry .entry-inner{gap:9px}.invite-art{height:62svh}.character-entry .open-invite{min-height:40px;padding:10px 22px}.character-entry .entry-step{margin-top:0}}@media(prefers-reduced-motion:reduce){.character-entry .invite-art,.invite-character,.invite-glint{animation:none!important}}

.character-entry .invite-character{border-radius:0;background:transparent}

/* Botón inspirado en el letrero rosa de Pinkie Pie. */
.character-entry .open-invite{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:11px 24px!important;border:3px solid #fff8fc;border-radius:24px 28px 24px 28px;background:linear-gradient(180deg,#ff73bc 0%,#f13999 48%,#da167e 100%);color:#fff;font-family:'Baloo 2',cursive;font-size:19px!important;font-weight:800;line-height:1.15;text-shadow:0 2px 0 #a61366;box-shadow:0 0 0 2px #ee59a7,0 5px 0 #b9277d,0 9px 0 2px #fff7fc99,0 13px 22px #aa2b7b32;transition:transform .2s,box-shadow .2s;overflow:hidden}.character-entry .open-invite:before{content:'';position:absolute;z-index:-1;top:3px;left:14%;right:14%;height:36%;border-radius:50%;background:linear-gradient(#ffffff60,#ffffff00);pointer-events:none}.character-entry .open-invite:hover{background:linear-gradient(180deg,#ff8ac8,#f53a9b 48%,#df167e);transform:translateY(-2px);box-shadow:0 0 0 2px #ee59a7,0 7px 0 #b9277d,0 11px 0 2px #fff7fc99,0 15px 25px #aa2b7b36}.character-entry .open-invite:active{transform:translateY(3px);box-shadow:0 0 0 2px #ee59a7,0 2px 0 #b9277d,0 6px 0 2px #fff7fc99}.character-entry .open-invite:focus-visible{outline:3px solid #773183;outline-offset:8px}.button-heart{font-size:20px;color:#ffe1ef;text-shadow:0 2px 0 #b52273;transform:rotate(-13deg)}.button-star{font-size:22px;color:#ffe26e;text-shadow:0 2px 0 #d99513}.character-entry .entry-foot{margin-top:9px;color:#7b4d8e;text-shadow:0 1px 2px #fff}.character-entry.opening .open-invite{transform:scale(.96)}@media(max-width:600px){.character-entry .open-invite{min-height:48px;padding:10px 20px!important;font-size:18px!important;gap:9px}}@media(max-height:620px){.character-entry .open-invite{min-height:44px;padding:8px 19px!important;font-size:17px!important}.character-entry .entry-foot{margin-top:7px}}
