:root{--bg:#0b0b10;--fg:#f4f2ff;--muted:#a19fb5;--card:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);--a1:#ff5fa2;--a2:#7b6cff;--a3:#3fe0c5}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{background:var(--bg);color:var(--fg);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,"SF Pro Rounded","Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100svh;display:flex;flex-direction:column}
body::before,body::after{content:"";position:fixed;z-index:-1;width:65vmax;height:65vmax;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
body::before{background:var(--a2);top:-25vmax;left:-20vmax;animation:drift1 32s ease-in-out infinite}
body::after{background:var(--a1);bottom:-30vmax;right:-20vmax;animation:drift2 38s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(25vmax,18vmax) scale(1.15)}66%{transform:translate(8vmax,35vmax) scale(.9)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-22vmax,-25vmax) scale(.9)}66%{transform:translate(-35vmax,-6vmax) scale(1.2)}}
main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;max-width:900px;margin:0 auto;width:100%}
a{color:inherit}
.grad{background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3));-webkit-background-clip:text;background-clip:text;color:transparent}
footer{padding:20px 24px;text-align:center;font-size:13px;color:var(--muted)}
footer a{color:var(--muted);text-decoration:none;margin:0 8px}
footer a:hover{color:var(--fg)}
