*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden;font-family:Cormorant Garamond,serif}body{-webkit-font-smoothing:antialiased}@keyframes breatheGlow{0%,to{opacity:.3;transform:scale(1.2)}50%{opacity:1;transform:scale(2)}}@keyframes breatheButton{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes breatheFooter{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes grainDissolve{0%{opacity:0;filter:blur(4px) contrast(1.5)}to{opacity:1;filter:blur(0) contrast(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes streamGlow{0%,to{box-shadow:0 0 6px #c8cdd74d}50%{box-shadow:0 0 18px #c8cdd7b3}}@keyframes timerShrink{0%{width:100%}to{width:0%}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blurIn{0%{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.page-enter{animation:grainDissolve .5s ease forwards}textarea:focus{outline:none}button{cursor:pointer}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes popupIn{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes streamGlow{0%,to{box-shadow:0 0 #8a7d9100}50%{box-shadow:0 0 12px #8a7d9166,0 0 24px #8a7d9126}}@keyframes streamGlowDark{0%,to{box-shadow:0 0 #b5bcc500}50%{box-shadow:0 0 12px #b5bcc559,0 0 24px #b5bcc51f}}.stream-glow-light{animation:streamGlow 3s ease-in-out infinite;cursor:pointer}.stream-glow-dark{animation:streamGlowDark 3s ease-in-out infinite;cursor:pointer}
