*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html,body,#root{width:100%}body{color:#f3ecf6;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#0b0814;font-family:Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}#root{min-height:100dvh}.celestual-app{width:100%;position:relative}input,button{font-family:inherit}::selection{color:#fff;background:#ff9e6b52}::-webkit-scrollbar{width:0;height:0}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes ping{0%{opacity:.55;transform:scale(.35)}70%{opacity:0}to{opacity:0;transform:scale(1.7)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.enter{animation:.6s cubic-bezier(.2,.7,.2,1) both fadeUp}.fade{animation:.5s both fadeIn}@keyframes introLine{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}18%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:1}}.intro-line{animation:1.1s cubic-bezier(.2,.7,.2,1) both introLine}@keyframes morphText{0%{opacity:1;filter:blur();letter-spacing:.2px;transform:scale(1)}40%{opacity:1}72%{opacity:0;filter:blur(7px);letter-spacing:10px;transform:scale(.86)}to{opacity:0}}@keyframes morphStar{0%{opacity:0;transform:translateY(0)scale(.2)}42%{opacity:1;transform:translateY(0)scale(1)}62%{opacity:1;transform:translateY(-3px)scale(1.2)}to{opacity:0;transform:translateY(-18px)scale(.55)}}@keyframes morphHalo{0%{opacity:0;transform:scale(.4)}45%{opacity:.55;transform:scale(1)}to{opacity:0;transform:translateY(-16px)scale(1.7)}}.morph-text{animation:1.15s cubic-bezier(.4,0,.2,1) both morphText}.morph-star{animation:1.2s cubic-bezier(.3,.2,.2,1) both morphStar}.morph-halo{animation:1.2s ease-out both morphHalo}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes readoutIn{0%{opacity:0;filter:blur(3px);transform:translateY(10px)scale(.985)}60%{opacity:1;filter:blur()}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes readoutLine{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes ruleGrow{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes starRise{0%{opacity:0;transform:translateY(12px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes readoutOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.99)}}@keyframes scrimOut{0%{opacity:1}to{opacity:0}}.scrim-in{animation:.55s both scrimIn}.scrim-out{animation:.22s both scrimOut}.readout-in{animation:.62s cubic-bezier(.2,.7,.2,1) both readoutIn}.readout-out{animation:.22s both readoutOut}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.floaty{animation:6s ease-in-out infinite floaty}@keyframes starGlow{0%,to{opacity:1}50%{opacity:.82}}@keyframes spikeGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.82;transform:scale(1.05)}}.starmark-core{animation:4.5s ease-in-out infinite starGlow}.starmark-spikes{transform-origin:50%;animation:6s ease-in-out infinite spikeGlow}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}.enter,.fade{opacity:1!important;animation:none!important}}
