@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient{background-size:200% 200%;animation:gradientBG 10s ease infinite}.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.5,0,0,1)}.reveal.active{opacity:1;transform:translateY(0)}.glass-panel{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.text-gradient{background:linear-gradient(to right,#3b82f6,#60a5fa,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-transition-enter{opacity:0;transform:translateY(20px);animation:pageFadeIn .5s forwards}@keyframes pageFadeIn{to{opacity:1;transform:translateY(0)}}@keyframes snowFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:1}to{transform:translate3d(20px,110vh,0) rotate(360deg);opacity:.2}}.snowflake{position:fixed;top:-10px;background:#fff;border-radius:50%;box-shadow:0 0 8px #fffc;animation:snowFall linear infinite forwards;z-index:40}@keyframes sunFloat{0%{transform:translate(0) scale(1);opacity:.8}50%{transform:translate(-40px,20px) scale(1.1);opacity:1}to{transform:translate(0) scale(1);opacity:.8}}@keyframes heatParticle{0%{transform:translateY(110vh) scale(.5);opacity:0}20%{opacity:.7}80%{opacity:.7}to{transform:translateY(-10vh) scale(1.2);opacity:0}}.sun-orb{position:fixed;top:-60px;right:-20px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,180,0,.7) 0%,rgba(255,100,0,.3) 40%,transparent 70%);border-radius:50%;animation:sunFloat 6s ease-in-out infinite;z-index:40;pointer-events:none;mix-blend-mode:screen}.sun-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,120,0,.12) 0%,transparent 70%);z-index:39;pointer-events:none;mix-blend-mode:overlay;transition:opacity 1s ease}.heat-particle{position:fixed;background:#fc0;border-radius:50%;box-shadow:0 0 12px #fa0;animation:heatParticle linear infinite;z-index:40;pointer-events:none}.ice-layer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:45;background:linear-gradient(to bottom,rgba(230,245,255,.15) 0%,transparent 15%,transparent 85%,rgba(230,245,255,.15) 100%),linear-gradient(to right,rgba(230,245,255,.15) 0%,transparent 15%,transparent 85%,rgba(230,245,255,.15) 100%);box-shadow:inset 0 0 100px #a0dcff40;-webkit-backdrop-filter:saturate(.9) hue-rotate(5deg);backdrop-filter:saturate(.9) hue-rotate(5deg);transition:opacity 4s cubic-bezier(.4,0,.2,1)}
