.wish-scene{background:linear-gradient(180deg,#04060d,#070d1f 30%,#0a142e 58%,#102040 80%,#173048)}.wish-serif{font-family:Georgia,Times New Roman,Songti SC,SimSun,"Noto Serif SC","Noto Serif KR",serif}.wish-horizon-glow{background:radial-gradient(ellipse at center,#22606647 0,#22606600 65%)}.wish-vignette{background:radial-gradient(ellipse at 50% 42%,#0000 52%,#02040a80 100%)}.wish-nebula{border-radius:50%;animation:wish-nebula-drift 70s ease-in-out infinite alternate}@keyframes wish-nebula-drift{0%{transform:translate(0)}to{transform:translate(4vw,-3vh)}}.wish-near-world{position:absolute;inset:0;pointer-events:none;transition:transform var(--wish-cam,2.8s) cubic-bezier(.22,.61,.36,1);will-change:transform}.wish-near-world--ascend{transform:translateY(9vh)}.wish-mist{background:linear-gradient(180deg,#8caad200,rgba(140,170,210,.075) 55%,#8caad200)}.wish-ground-glow{background:radial-gradient(ellipse at center,#ffb45a1a 0,#ffb45a00 70%);animation:wish-halo-pulse 6.5s ease-in-out infinite}.wish-mote{position:absolute;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff3d0 0,#ffc861 38%,#ffaa408c 62%,#ffa03c00 100%);animation:wish-rise linear infinite,wish-sway ease-in-out infinite alternate;pointer-events:none}@keyframes wish-rise{0%{transform:translateY(0)}to{transform:translateY(-118vh)}}@keyframes wish-sway{0%{margin-left:-8px}to{margin-left:8px}}.wish-halo{background:radial-gradient(circle,#ffc4614d 0,#ffb4501a 42%,#ffaa4000 68%);animation:wish-halo-pulse 6.5s ease-in-out infinite;opacity:calc(.55 + .45 * var(--wish-lit, .6))}@keyframes wish-halo-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.07)}}.wish-lantern{filter:drop-shadow(0 6px 28px rgba(255,176,72,.38));animation:wish-bob 7s ease-in-out infinite}@keyframes wish-bob{0%,to{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-9px) rotate(.8deg)}}.wish-flame{animation:wish-flicker 1.4s ease-in-out infinite alternate;transform-origin:50% 88%;opacity:var(--wish-lit,.6)}@keyframes wish-flicker{0%{transform:scaleY(.94) scaleX(1.02)}to{transform:scaleY(1.06) scaleX(.98)}}.wish-rig{transform:translate(-50%);transition:transform var(--wish-rise,4.6s) cubic-bezier(.22,.61,.36,1);will-change:transform}.wish-rig--released{transform:translate(-50%,-15vh) scale(.85);animation:wish-rig-away var(--wish-away,2.6s) ease-in var(--wish-away-delay,4.4s) forwards}@keyframes wish-rig-away{0%{transform:translate(-50%,-15vh) scale(.85);opacity:1}to{transform:translate(-50%,-18vh) scale(.13);opacity:.9}}.wish-star-flare{position:absolute;left:calc(50% - 215px);top:calc(42% - 215px);width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#fffffff2 0,#fff7df59 18%,#fff7df00 62%);opacity:0;pointer-events:none}.wish-star-flare:after,.wish-star-flare:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.wish-star-flare:before{width:2300px;height:24px;background:linear-gradient(90deg,#0000,#fff7dff2 47%,#fff 50%,#fff7dff2 53%,#0000)}.wish-star-flare:after{width:24px;height:2300px;background:linear-gradient(180deg,#0000,#fff7dff2 47%,#fff 50%,#fff7dff2 53%,#0000)}.wish-rig--released .wish-star-flare{animation:wish-flare var(--wish-flare,.8s) ease-out var(--wish-flare-delay,6.9s)}@keyframes wish-flare{0%{opacity:0;transform:scale(.15) rotate(0deg)}35%{opacity:1}to{opacity:0;transform:scale(1) rotate(8deg)}}.wish-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd27a;opacity:0;box-shadow:0 0 8px #ffd27ae6}.wish-rig--released .wish-spark{animation:wish-spark-float 3.2s ease-out infinite}@keyframes wish-spark-float{0%{opacity:0;transform:translate(0)}25%{opacity:.9}to{opacity:0;transform:translate(var(--sx),var(--sy))}}.wish-ring{border:1.5px solid #ffd682d9;box-shadow:0 0 22px #ffc4614d,inset 0 0 18px #ffc46124;transform:scale(.78)}.wish-ring--in{transform:scale(1.12);transition:transform 4s ease-in-out}.wish-ring--hold{transform:scale(1.12);transition:transform .3s ease-out}.wish-ring--out{transform:scale(.78);transition:transform 6s ease-in-out}.wish-ui{transition:opacity .7s ease}.wish-ui--hidden{opacity:0;pointer-events:none}.wish-card{background:linear-gradient(165deg,#0e1730,#14224a 55%,#1b2c5e);box-shadow:0 0 0 1px #facc1561,0 24px 70px #000000a6,0 0 50px #ffc4611a}.wish-card:before{content:"";position:absolute;top:-40%;left:-20%;width:140%;height:80%;background:radial-gradient(ellipse at center,#ffd6821a 0,#ffd68200 65%);pointer-events:none}.wish-card-rule{background:linear-gradient(90deg,#0000,#facc15b3,#0000)}.wish-corner{position:absolute;width:18px;height:18px;border:0 solid #facc158c}.wish-corner--tl{top:10px;left:10px;border-top-width:1px;border-left-width:1px;border-top-left-radius:6px}.wish-corner--tr{top:10px;right:10px;border-top-width:1px;border-right-width:1px;border-top-right-radius:6px}.wish-corner--bl{bottom:10px;left:10px;border-bottom-width:1px;border-left-width:1px;border-bottom-left-radius:6px}.wish-corner--br{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px;border-bottom-right-radius:6px}.wish-gold-text{background:linear-gradient(100deg,#c9962e,#f7df8e 45%,#e4b84c 70%,#fbeeb6);-webkit-background-clip:text;background-clip:text;color:#0000}.wish-fade-in{animation:wish-fade-in 1.1s ease-out both}@keyframes wish-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.wish-fade-in,.wish-flame,.wish-ground-glow,.wish-halo,.wish-lantern,.wish-mote,.wish-nebula,.wish-rig--released,.wish-rig--released .wish-star-flare,.wish-spark,.wish-star-flare{animation:none!important}.wish-near-world,.wish-rig,.wish-ring--hold,.wish-ring--in,.wish-ring--out{transition:none!important}}