Spaces:
Sleeping
Sleeping
| .rayContainer { | |
| // Theme-specific colors | |
| --ray-color-primary: color-mix(in srgb, var(--primary-color), transparent 30%); | |
| --ray-color-secondary: color-mix(in srgb, var(--secondary-color), transparent 30%); | |
| --ray-color-accent: color-mix(in srgb, var(--accent-color), transparent 30%); | |
| // Theme-specific gradients | |
| --ray-gradient-primary: radial-gradient(var(--ray-color-primary) 0%, transparent 70%); | |
| --ray-gradient-secondary: radial-gradient(var(--ray-color-secondary) 0%, transparent 70%); | |
| --ray-gradient-accent: radial-gradient(var(--ray-color-accent) 0%, transparent 70%); | |
| position: fixed; | |
| inset: 0; | |
| overflow: hidden; | |
| animation: fadeIn 1.5s ease-out; | |
| pointer-events: none; | |
| z-index: 0; | |
| // background-color: transparent; | |
| :global(html[data-theme='dark']) & { | |
| mix-blend-mode: screen; | |
| } | |
| :global(html[data-theme='light']) & { | |
| mix-blend-mode: multiply; | |
| } | |
| } | |
| .lightRay { | |
| position: absolute; | |
| border-radius: 100%; | |
| :global(html[data-theme='dark']) & { | |
| mix-blend-mode: screen; | |
| } | |
| :global(html[data-theme='light']) & { | |
| mix-blend-mode: multiply; | |
| opacity: 0.4; | |
| } | |
| } | |
| .ray1 { | |
| width: 600px; | |
| height: 800px; | |
| background: var(--ray-gradient-primary); | |
| transform: rotate(65deg); | |
| top: -500px; | |
| left: -100px; | |
| filter: blur(80px); | |
| opacity: 0.6; | |
| animation: float1 15s infinite ease-in-out; | |
| } | |
| .ray2 { | |
| width: 400px; | |
| height: 600px; | |
| background: var(--ray-gradient-secondary); | |
| transform: rotate(-30deg); | |
| top: -300px; | |
| left: 200px; | |
| filter: blur(60px); | |
| opacity: 0.6; | |
| animation: float2 18s infinite ease-in-out; | |
| } | |
| .ray3 { | |
| width: 500px; | |
| height: 400px; | |
| background: var(--ray-gradient-accent); | |
| top: -320px; | |
| left: 500px; | |
| filter: blur(65px); | |
| opacity: 0.5; | |
| animation: float3 20s infinite ease-in-out; | |
| } | |
| .ray4 { | |
| width: 400px; | |
| height: 450px; | |
| background: var(--ray-gradient-secondary); | |
| top: -350px; | |
| left: 800px; | |
| filter: blur(55px); | |
| opacity: 0.55; | |
| animation: float4 17s infinite ease-in-out; | |
| } | |
| .ray5 { | |
| width: 350px; | |
| height: 500px; | |
| background: var(--ray-gradient-primary); | |
| transform: rotate(-45deg); | |
| top: -250px; | |
| left: 1000px; | |
| filter: blur(45px); | |
| opacity: 0.6; | |
| animation: float5 16s infinite ease-in-out; | |
| } | |
| .ray6 { | |
| width: 300px; | |
| height: 700px; | |
| background: var(--ray-gradient-accent); | |
| transform: rotate(75deg); | |
| top: -400px; | |
| left: 600px; | |
| filter: blur(75px); | |
| opacity: 0.45; | |
| animation: float6 19s infinite ease-in-out; | |
| } | |
| .ray7 { | |
| width: 450px; | |
| height: 600px; | |
| background: var(--ray-gradient-primary); | |
| transform: rotate(45deg); | |
| top: -450px; | |
| left: 350px; | |
| filter: blur(65px); | |
| opacity: 0.55; | |
| animation: float7 21s infinite ease-in-out; | |
| } | |
| .ray8 { | |
| width: 380px; | |
| height: 550px; | |
| background: var(--ray-gradient-secondary); | |
| transform: rotate(-60deg); | |
| top: -380px; | |
| left: 750px; | |
| filter: blur(58px); | |
| opacity: 0.6; | |
| animation: float8 14s infinite ease-in-out; | |
| } | |
| @keyframes float1 { | |
| 0%, | |
| 100% { | |
| transform: rotate(65deg) translate(0, 0); | |
| } | |
| 25% { | |
| transform: rotate(70deg) translate(30px, 20px); | |
| } | |
| 50% { | |
| transform: rotate(60deg) translate(-20px, 40px); | |
| } | |
| 75% { | |
| transform: rotate(68deg) translate(-40px, 10px); | |
| } | |
| } | |
| @keyframes float2 { | |
| 0%, | |
| 100% { | |
| transform: rotate(-30deg) scale(1); | |
| } | |
| 33% { | |
| transform: rotate(-25deg) scale(1.1); | |
| } | |
| 66% { | |
| transform: rotate(-35deg) scale(0.95); | |
| } | |
| } | |
| @keyframes float3 { | |
| 0%, | |
| 100% { | |
| transform: translate(0, 0) rotate(0deg); | |
| } | |
| 25% { | |
| transform: translate(40px, 20px) rotate(5deg); | |
| } | |
| 75% { | |
| transform: translate(-30px, 40px) rotate(-5deg); | |
| } | |
| } | |
| @keyframes float4 { | |
| 0%, | |
| 100% { | |
| transform: scale(1) rotate(0deg); | |
| } | |
| 50% { | |
| transform: scale(1.15) rotate(10deg); | |
| } | |
| } | |
| @keyframes float5 { | |
| 0%, | |
| 100% { | |
| transform: rotate(-45deg) translate(0, 0); | |
| } | |
| 33% { | |
| transform: rotate(-40deg) translate(25px, -20px); | |
| } | |
| 66% { | |
| transform: rotate(-50deg) translate(-25px, 20px); | |
| } | |
| } | |
| @keyframes float6 { | |
| 0%, | |
| 100% { | |
| transform: rotate(75deg) scale(1); | |
| filter: blur(75px); | |
| } | |
| 50% { | |
| transform: rotate(85deg) scale(1.1); | |
| filter: blur(65px); | |
| } | |
| } | |
| @keyframes float7 { | |
| 0%, | |
| 100% { | |
| transform: rotate(45deg) translate(0, 0); | |
| opacity: 0.55; | |
| } | |
| 50% { | |
| transform: rotate(40deg) translate(-30px, 30px); | |
| opacity: 0.65; | |
| } | |
| } | |
| @keyframes float8 { | |
| 0%, | |
| 100% { | |
| transform: rotate(-60deg) scale(1); | |
| } | |
| 25% { | |
| transform: rotate(-55deg) scale(1.05); | |
| } | |
| 75% { | |
| transform: rotate(-65deg) scale(0.95); | |
| } | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |