@keyframes spinCCWOnce{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@keyframes spinCCWPulse{0%{transform:rotate(0deg)}40%{transform:rotate(-1turn)}to{transform:rotate(-1turn)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.9}}@keyframes particleTravel{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.25);opacity:0}}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes passportGlow{0%,to{border-color:rgba(255,125,221,.4);box-shadow:0 20px 60px rgba(155,124,255,.18),0 0 0 rgba(255,125,221,0)}50%{border-color:#ff7ddd;box-shadow:0 20px 60px rgba(155,124,255,.18),0 0 26px 3px rgba(255,125,221,.6)}}@keyframes meteorStreak{0%{transform:translateX(-60px) scaleX(.4);opacity:0}12%{opacity:1;transform:translateX(0) scaleX(1)}55%{opacity:.9}to{transform:translateX(420px) scaleX(1);opacity:0}}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes zapPulse{0%,to{box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 6px rgba(255,125,221,.12)}50%{box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 12px rgba(255,125,221,.22)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes planetZapPulse{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.07);filter:brightness(1.4)}55%{transform:scale(.98);filter:brightness(1.08)}to{transform:scale(1);filter:brightness(1)}}@keyframes tapHintPulse{0%,to{transform:scale(1);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 18px rgba(255,125,221,.25)}50%{transform:scale(1.05);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 26px rgba(255,125,221,.45)}}@keyframes tapHintFinger{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes previewBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes previewPhoneIn{0%{opacity:0;transform:scale(.88) translateY(14px) rotate(var(--rotate,0deg))}to{opacity:1;transform:scale(1) translateY(0) rotate(var(--rotate,0deg))}}@keyframes previewCaptionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkleTwinkle{0%,to{opacity:.25;transform:scale(.8) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(15deg)}}.preview-carousel{scrollbar-width:none;-ms-overflow-style:none}.preview-carousel::-webkit-scrollbar{display:none}body,html{margin:0;padding:0}body{background:#05030b;font-family:Pretendard,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}::selection{background:#ff7ddd;color:#05030b}.gradient-text{color:#fffafc}@supports ((-webkit-background-clip:text) or (background-clip:text)) or (-webkit-background-clip:text){.gradient-text{-webkit-background-clip:text;background-clip:text;color:transparent}}.artist-pill:focus-visible,.artist-pill:hover{transform:translateY(-2px) scale(1.03);border-color:rgba(255,125,221,.55);background:linear-gradient(160deg,rgba(255,125,221,.14),rgba(155,124,255,.06));box-shadow:0 10px 26px rgba(255,125,221,.22)}.artist-pill:active{transform:translateY(0) scale(.98)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}