:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100dvh;height:auto}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.ripple-background{position:relative;width:100vw;height:100dvh;background:radial-gradient(circle,#0a0f1c,#020409);display:flex;align-items:center;justify-content:center;overflow:hidden}.title{color:#fff;font-size:3rem;z-index:1;font-family:Figtree,sans-serif}.ripple-background:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 80%);animation:ripple 4s infinite ease-in-out;border-radius:50%}@keyframes ripple{0%{transform:scale(.6);opacity:.6}50%{transform:scale(1.05);opacity:.3}to{transform:scale(.6);opacity:.6}}.puddle-container{position:relative;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:300px;height:300px;border-radius:50%;pointer-events:none}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;width:100%;height:100%;border:5px solid #182952;border-radius:50%;animation:pulse-ring 6s infinite ease-in-out;filter:blur(3px)}.pulse-ring:after{animation-delay:.75s}@keyframes pulse-ring{0%{transform:scale(.6);opacity:.7}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}.fade-container{animation:fadeIn .6s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeExpand{0%{opacity:0;letter-spacing:0}to{opacity:1;letter-spacing:.6rem}}.slide-fade-top{animation:fadeExpand 1s ease forwards;animation-delay:0s}.slide-fade-bottom{animation:fadeExpand 1s ease forwards;animation-delay:.2s}.ripple-background a:hover{color:#fff}
