/* One luminous star conceals the envelope, then dissolves into stardust. */
.sft-sky,.sft-star-reveal{display:none;pointer-events:none}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight]{--sf-arrival:10.5s}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .sf-soul-stage{background:radial-gradient(ellipse at 28% 63%,#8cbcc14d,transparent 43%),radial-gradient(ellipse at 73% 40%,#b59bc470,transparent 46%),radial-gradient(ellipse at 48% 50%,#766d93,#323754 75%,#222b46);isolation:isolate}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] :is(.sf-starlight-streams,.sf-starlight-sparks,.sf-soul-heart,.sf-soul-halo,.sf-soul-water,.sf-soul-dust,.sf-soul-petals,.sf-soul-veil,.sft-sheer,.sft-ribbons,.sft-orbit,.sft-shooting-scene){display:none!important}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .sft-sky{display:block;position:absolute;inset:0;overflow:hidden;z-index:28}
.sft-star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#fff8ec;box-shadow:0 0 5px #e5d5f9;opacity:.45}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .sft-star-reveal{display:block;position:absolute;inset:0;z-index:35;overflow:hidden}
.sft-great-star{position:absolute;left:50%;top:46%;width:min(90vw,76dvh,40rem);aspect-ratio:1;opacity:0;transform:translate(-50%,-50%);filter:drop-shadow(0 0 28px #f9e5ca70);will-change:transform,opacity}
.sft-great-star svg{display:block;width:100%;height:100%;overflow:visible}
.ecard-player[data-sf-delivery=starlight] .is-running .sft-great-star{animation:sft-star-unfold 10.5s cubic-bezier(.3,.1,.25,1) both}
.sft-star-aura{position:absolute;left:50%;top:46%;width:min(100vw,90dvh,48rem);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff7da42,#e4caec24 35%,transparent 70%);opacity:0}
.ecard-player[data-sf-delivery=starlight] .is-running .sft-star-aura{animation:sft-star-aura 10.5s ease both}
.sft-starburst{position:absolute;left:50%;top:46%;width:min(96vw,86dvh,46rem);aspect-ratio:1;transform:translate(-50%,-50%);overflow:visible}
.sft-starburst i{position:absolute;left:50%;top:50%;font-style:normal;color:var(--color);font-size:var(--size);line-height:1;opacity:0;text-shadow:0 0 7px #fff1c9a0}
.ecard-player[data-sf-delivery=starlight] .is-running .sft-starburst i{animation:sft-star-dissolve 10.5s ease-out both;animation-delay:calc(var(--i)*.014s)}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .journey-object.sf-emerging-envelope{animation:sft-envelope-uncovered 10.5s ease both;z-index:31;filter:drop-shadow(0 8px 20px #17203560)}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .delivery-scene.is-revealing .sf-soul-stage{opacity:1;transition:none}
.ecard-player.sf-soul-reveal[data-sf-delivery=starlight] .delivery-caption{top:8%;bottom:auto;z-index:40;color:#fff7ec;font-family:Georgia,serif;font-style:italic;text-shadow:0 1px 8px #13192d99}
@keyframes sft-star-unfold{0%,5%{opacity:0;transform:translate(calc(-50% - 100vw),calc(-50% + 46dvh)) rotate(-12deg) scale(.65)}12%{opacity:1}38%,48%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);filter:drop-shadow(0 0 30px #fff1d68c)}62%{opacity:1;transform:translate(calc(-50% + 28vw),calc(-50% - 18dvh)) rotate(8deg) scale(.92);filter:drop-shadow(0 0 36px #fff1d6)}85%,100%{opacity:0;transform:translate(calc(-50% + 115vw),calc(-50% - 65dvh)) rotate(18deg) scale(.6)}}
@keyframes sft-envelope-uncovered{0%,56%{opacity:0;transform:translate(-50%,-50%) scale(.94);clip-path:none}67%{opacity:.35}81%,100%{opacity:1;transform:translate(-50%,-50%) scale(1);clip-path:none}}
@keyframes sft-star-aura{0%,14%{opacity:0}38%,56%{opacity:.8}76%{opacity:.5}100%{opacity:.12}}
@keyframes sft-star-dissolve{0%,51%{opacity:0;left:50%;top:50%;transform:scale(.15)}65%{opacity:.95;left:var(--x);top:var(--y);transform:scale(1)}83%{opacity:.6}100%{opacity:0;left:var(--end-x);top:var(--end-y);transform:scale(.2)}}
@media(prefers-reduced-motion:reduce){.ecard-player.sf-soul-reveal[data-sf-delivery=starlight]:not(.motion-enabled) .sft-star-reveal{display:none}.ecard-player.sf-soul-reveal[data-sf-delivery=starlight]:not(.motion-enabled) .sft-star-reveal *{animation:none!important}}

/* A luminous comet tail follows the large star on its diagonal flight. */
.sft-great-star{isolation:isolate}
.sft-great-star svg{position:relative;z-index:2}
.sft-great-star::before,.sft-great-star::after{content:"";position:absolute;right:48%;top:31%;width:95vw;height:42%;transform:rotate(-22deg);transform-origin:100% 50%;pointer-events:none}
.sft-great-star::before{z-index:0;background:linear-gradient(90deg,transparent 0%,#c5b6ed33 28%,#d2c2ef88 60%,#d3edf2bb 80%,#fff2d8 100%);clip-path:polygon(0 100%,100% 0,100% 100%);filter:blur(6px)}
.sft-great-star::after{z-index:1;top:43%;height:13%;background:linear-gradient(90deg,transparent,#f6e6f666 45%,#fff5d9 100%);clip-path:polygon(0 100%,100% 0,100% 100%);filter:drop-shadow(0 0 12px #fff0d9)}
