:root{--night:#071d19;--night-soft:#0b2f2a;--teal:#1b6b58;--teal-deep:#0f4a3f;--sunset:#e0742a;--amber:#f4b13d;--gold:#f2c35b;--gold-light:#ffe7a3;--gold-deep:#c98a26;--gold-line:#e2b04fd9;--ground:#050807;--ink-gold-dark:#4a2f08;--gold-gradient:linear-gradient(180deg, var(--gold-light) 0%, var(--gold) 45%, var(--gold-deep) 100%);--glow-gold:0 0 18px #f2c35b59;--font-display:"Cinzel", Georgia, serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background:var(--ground);min-height:100vh;font-family:var(--font-display);color:var(--gold-light);letter-spacing:.01em;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}#root{width:100%;min-height:100vh}img{max-width:100%;display:block}button{font:inherit;color:inherit}.scene-bg{z-index:1;background-color:var(--night);background-image:url(/img/fondo.png);background-position:top;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.scene-bg:before{content:"";background:radial-gradient(at 50% 40%,#071d1959 0%,#071d1999 55%,#050807d9 100%);position:absolute;inset:0}.envelope-scene{z-index:2;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:8vh 1.25rem;display:flex;position:relative}.env-box{aspect-ratio:420/280;z-index:10;opacity:0;width:min(88vw,480px);transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .6s;position:relative;transform:translateY(-60vh)rotate(-8deg)}.env-box--dropped{opacity:1;transform:translateY(0)rotate(0)}.env-box--opened{opacity:0;pointer-events:none;transition:opacity .3s .4s,transform 1s cubic-bezier(.22,1,.36,1)}.env-fold__line{transition:opacity .2s}.env-box--opened .env-fold__line{opacity:0}.env-fold{z-index:5;perspective:1100px;position:absolute}.env-fold-face{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(0 6px 14px #00000073);transition:transform 1s cubic-bezier(.65,0,.35,1)}.env-fold--bottom{z-index:4;height:40%;bottom:0;left:0;right:0}.env-fold--bottom .env-fold-face{transform-origin:bottom}.env-fold--left{z-index:6;width:50%;top:0;bottom:0;left:0}.env-fold--left .env-fold-face{transform-origin:0}.env-fold--right{z-index:6;width:50%;top:0;bottom:0;right:0}.env-fold--right .env-fold-face{transform-origin:100%}.env-fold--top{z-index:8;pointer-events:none;height:60%;top:0;left:0;right:0}.env-fold--top .env-fold-face{transform-origin:top;position:relative}.env-seal-btn{z-index:9;cursor:pointer;opacity:1;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;width:clamp(112px,32vw,170px);margin:0;padding:0;transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1);position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)scale(1)}.env-seal-btn:focus-visible .wax-seal{filter:drop-shadow(0 0 10px #ffe7a3e6)}.env-seal-btn:hover .wax-seal{transform:scale(1.03)}.env-seal-btn--hidden{opacity:0;pointer-events:none;cursor:default;transform:translate(-50%,-50%)scale(.6)}.wax-seal{width:100%;transition:transform .3s;display:block;position:relative;container-type:inline-size}.wax-seal__img{filter:saturate(.9)drop-shadow(0 6px 16px #0000008c);width:100%;height:auto;display:block}.wax-seal__text{color:var(--ink-gold-dark);font-family:var(--font-display);pointer-events:none;text-shadow:0 1px #ffe7a373;font-size:24cqw;font-weight:900;line-height:1;position:absolute;top:47.6%;left:50.8%;transform:translate(-50%,-50%)}.envelope-hint{color:var(--gold);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;pointer-events:none;white-space:nowrap;z-index:5;margin-top:1.4rem;font-size:12px;font-weight:700;transition:opacity .4s;animation:2s ease-in-out infinite tap-pulse}.envelope-scene--open .envelope-hint{opacity:0;animation:none}@keyframes tap-pulse{0%,to{opacity:.5}50%{opacity:1}}.invite-content{z-index:5;opacity:0;pointer-events:none;clip-path:inset(var(--clip-top,50%) var(--clip-right,50%) var(--clip-bottom,50%) var(--clip-left,50%) round 6px);justify-content:center;padding:8px;transition:clip-path .9s cubic-bezier(.65,0,.35,1) .3s;display:flex;position:fixed;inset:0}.invite-content--open{opacity:1;pointer-events:auto;clip-path:inset(0);z-index:20;transition:clip-path .7s cubic-bezier(.33,1,.68,1) .65s,z-index 0s linear .65s}.invite-card{border:1px solid var(--gold-line);background:var(--ground);border-radius:16px;flex-direction:column;align-items:center;width:min(100%,56.25svh - 9px);height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00000073,0 20px 60px #0009}.invite-card__bg{z-index:0;position:absolute;inset:0}.invite-card__bg img{object-fit:cover;object-position:center top;width:100%;height:100%}.invite-card__content{z-index:2;width:100%;padding:max(4.5svh, env(safe-area-inset-top)) 1rem 0;flex-direction:column;align-items:center;gap:clamp(.7rem,2.2svh,1.4rem);display:flex;position:relative}.invite-card__title{width:min(90%,440px)}.invite-card__title img{filter:drop-shadow(0 4px 10px #00000073);width:100%;height:auto}.date-block{font-family:var(--font-display);text-shadow:0 2px 8px #0000008c;flex-direction:column;align-items:center;display:flex}.date-block__weekday,.date-block__time{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-light);padding-left:.4em;font-size:clamp(.68rem,2.9vw,.8rem);font-weight:700}.date-block__row{align-items:center;gap:clamp(.7rem,3.5vw,1rem);display:flex}.date-block__side{border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);letter-spacing:.3em;text-align:center;text-transform:uppercase;width:4.4em;color:var(--gold);padding:.3em 0 .25em .3em;font-size:clamp(.78rem,3.3vw,.92rem);font-weight:700}.date-block__day{background:var(--gold-gradient);color:#0000;filter:drop-shadow(0 3px 6px #00000080);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,11vw,3.3rem);font-weight:900;line-height:1}.countdown{font-family:var(--font-display);text-shadow:0 1px 2px #000000e6,0 2px 10px #000000b3;background:radial-gradient(#04120fe0 0%,#04120fb3 45%,#0000 72%);flex-direction:column;align-items:center;padding:.7rem 2.4rem .8rem;display:flex}.countdown__title{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-light);align-items:center;gap:.7em;font-size:clamp(.62rem,2.6vw,.72rem);font-weight:700;display:flex}.countdown__title:before,.countdown__title:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));width:clamp(2rem,12vw,3.2rem);height:1px}.countdown__title:after{background:linear-gradient(90deg, var(--gold), transparent)}.countdown__row{margin-top:.35rem;display:flex}.countdown__unit{flex-direction:column;align-items:center;min-width:clamp(3.4rem,15vw,4.2rem);display:flex}.countdown__unit+.countdown__unit{border-left:1px solid var(--gold-line)}.countdown__value{font-variant-numeric:tabular-nums;color:var(--gold-light);font-size:clamp(1.3rem,5.8vw,1.65rem);font-weight:700;line-height:1.15}.countdown__label{letter-spacing:.18em;text-transform:uppercase;color:#fff6dc;padding-left:.18em;font-size:clamp(.56rem,2.4vw,.64rem);font-weight:700}.actions{justify-content:center;display:flex}.action-btn{border:1px solid var(--gold-line);min-width:min(62vw,240px);color:var(--gold-light);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;background:#071d1999;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1.6rem;font-size:clamp(.7rem,3.1vw,.8rem);font-weight:700;text-decoration:none;transition:transform .2s,border-color .2s,background-color .2s;display:inline-flex;box-shadow:0 4px 12px #0006}.action-btn:hover,.action-btn:focus-visible{border-color:var(--gold);background:#0f4a3fbf;transform:translateY(-1px)}.action-btn:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.action-btn svg{fill:none;width:1rem;height:1rem;stroke:var(--gold);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.action-btn__divider{background:var(--gold-line);width:1px;height:.95rem}.invite-card__characters{z-index:1;flex:auto;justify-content:center;align-items:flex-end;width:100%;min-height:0;margin-top:1svh;display:flex;position:relative}.invite-card__footer{z-index:3;padding:3.5rem 1rem max(1.4rem, env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000 0%,#050807b3 55%,#050807e6 100%);justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.invite-card__footer .actions{pointer-events:auto}.invite-card__characters img{object-fit:contain;object-position:bottom center;width:auto;max-width:105%;height:100%;max-height:42svh;transform:translate(2%)}.invite-card__title.rv{filter:blur(8px);transition:opacity .6s,transform .85s cubic-bezier(.16,1,.3,1),filter .7s;transform:scale(1.45)}.invite-card__title.rv.in{filter:none;transform:none}.invite-card__characters.rv{transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(80px)}.invite-card__characters.rv.in{transform:none}.starfield{pointer-events:none;position:absolute;inset:0;overflow:hidden}.starfield--scene{z-index:1;position:fixed}.starfield--card{z-index:0}.starfield__star{opacity:.7;background:#fff6d6;border-radius:50%;animation:3s ease-in-out infinite star-twinkle;position:absolute;box-shadow:0 0 6px #ffe7a3d9}.starfield__star--sparkle{background:var(--gold-light);box-shadow:none;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 4px #ffe7a3e6);border-radius:0}@keyframes star-twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}.starfield__shooting{filter:drop-shadow(0 0 4px #ffe7a3e6);transform-origin:0;opacity:0;background:linear-gradient(90deg,#ffe7a300 0%,#fff6d6f2 100%);border-radius:2px;width:110px;height:2px;animation:10s ease-out infinite shooting-star;position:absolute}@keyframes shooting-star{0%{opacity:0;transform:rotate(148deg)translate(0)}2%{opacity:1}9%{opacity:0;transform:rotate(148deg)translate(340px)}to{opacity:0;transform:rotate(148deg)translate(340px)}}.invite-content--open .invite-card__bg img{animation:26s ease-in-out infinite alternate bg-drift}@keyframes bg-drift{0%{transform:scale(1.03)translate(0)}to{transform:scale(1.1)translate(-1.5%,1%)}}.invite-card__sunset-glow{z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.4;background:radial-gradient(at 50% 45%,#ffb0428c 0%,#e0742a2e 45%,#0000 70%);height:34%;animation:6s ease-in-out infinite alternate sunset-pulse;position:absolute;top:46%;left:-10%;right:-10%}@keyframes sunset-pulse{0%{opacity:.3;transform:scale(.96)}to{opacity:.85;transform:scale(1.04)}}.embers{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.embers__spark{background:radial-gradient(circle, #fff3c4 0%, var(--amber) 55%, #e0742a00 100%);opacity:0;border-radius:50%;animation:9s linear infinite ember-rise;position:absolute;bottom:36%;box-shadow:0 0 6px #f4b13de6}@keyframes ember-rise{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:1}75%{opacity:.75}to{opacity:0;transform:translate(var(--drift), var(--rise)) scale(.4)}}.invite-card__title{position:relative}.gold-shine{pointer-events:none;background:linear-gradient(110deg,#0000 38%,#fffce8e6 50%,#0000 62%) 100% 0/250% 100% no-repeat;position:absolute;inset:0;-webkit-mask:url(/img/titulo.png) 50%/100% 100% no-repeat;mask:url(/img/titulo.png) 50%/100% 100% no-repeat}.invite-content--open .gold-shine{animation:5.5s ease-in-out 1.95s infinite gold-sweep}@keyframes gold-sweep{0%{background-position:100% 0}40%,to{background-position:0 0}}.invite-content--open .invite-card__characters img{animation:6s ease-in-out 1.5s infinite characters-float}@keyframes characters-float{0%,to{transform:translate(2%)}50%{transform:translate(2%,-7px)}}.countdown__value{animation:.45s cubic-bezier(.34,1.56,.64,1) count-tick}@keyframes count-tick{0%{opacity:.2;transform:translateY(-35%)}to{opacity:1;transform:none}}.env-seal-btn:before{content:"";pointer-events:none;border-radius:50%;animation:2.4s ease-out infinite seal-ping;position:absolute;inset:6%}@keyframes seal-ping{0%{box-shadow:0 0 #f2c35b99}70%,to{box-shadow:0 0 0 22px #f2c35b00}}.rv{opacity:0;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}.rv,.invite-card__title.rv,.invite-card__characters.rv{opacity:1;filter:none;transition:none;transform:none}.env-box{opacity:1;transform:none}}
