:root{--bg:#000;--fg:#fff;--fg-dim:#ffffffd1;--ring:#ffffff40;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--mono);margin:0;line-height:1.5}.mesh,.vignette,.grain{pointer-events:none;position:fixed;inset:0}.mesh{z-index:0;overflow:hidden}.blob{will-change:transform;border-radius:50%;width:90vmax;height:90vmax;display:block;position:absolute}.blob-1{background:radial-gradient(circle,#ffffff21,#fff0 62%);animation:48s ease-in-out infinite drift-1;top:-32vmax;left:-22vmax}.blob-2{background:radial-gradient(circle,#ffffff16,#fff0 60%);animation:61s ease-in-out infinite drift-2;top:-10vmax;right:-34vmax}.blob-3{background:radial-gradient(circle,#ffffff1b,#fff0 58%);animation:55s ease-in-out infinite drift-3;bottom:-38vmax;left:6vmax}.blob-4{background:radial-gradient(circle,#ffffff12,#fff0 64%);animation:72s ease-in-out infinite drift-4;bottom:-30vmax;right:-18vmax}@keyframes drift-1{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(12vmax,8vmax)scale(1.18)}}@keyframes drift-2{0%,to{transform:translate(0,0)scale(1.1)}50%{transform:translate(-14vmax,12vmax)scale(.92)}}@keyframes drift-3{0%,to{transform:translate(0,0)scale(.95)}50%{transform:translate(10vmax,-12vmax)scale(1.22)}}@keyframes drift-4{0%,to{transform:translate(0,0)scale(1.05)}50%{transform:translate(-11vmax,-9vmax)scale(.9)}}.vignette{z-index:1;background:radial-gradient(70% 60%,#0000 0%,#0000008c 55%,#000000f5 100%)}.grain{z-index:2;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.center{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,2.5vh,1.5rem);min-height:100svh;padding:2rem 1.5rem 5rem;display:flex;position:relative}.links{flex-direction:column;align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.links a{min-height:44px;color:var(--fg-dim);font-family:var(--mono);letter-spacing:.05em;align-items:center;padding:.35em .75em;font-size:clamp(1rem,3.5vw,1.125rem);text-decoration:none;transition:color .22s;display:inline-flex}.link-label{position:relative}.link-label:after{content:"";transform-origin:50%;background:currentColor;width:100%;height:1px;transition:transform .26s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-.25em;left:0;transform:scaleX(0)}.links a:hover,.links a:focus-visible{color:var(--fg)}.links a:hover .link-label:after,.links a:focus-visible .link-label:after{transform:scaleX(1)}.links a:focus-visible{outline:1px solid var(--fg);outline-offset:.5em;border-radius:2px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.links li,.icons{animation:.6s cubic-bezier(.2,.7,.3,1) backwards rise}.links li:first-child{animation-delay:90ms}.links li:nth-child(2){animation-delay:.17s}.links li:nth-child(3){animation-delay:.25s}.links li:nth-child(4){animation-delay:.33s}.links li:nth-child(5){animation-delay:.41s}.links li:nth-child(6){animation-delay:.49s}.icons{flex-wrap:wrap;justify-content:center;gap:.25rem;margin:0;padding:0;list-style:none;animation-delay:.56s;display:flex}.icons a{border:1px solid var(--ring);width:44px;height:44px;color:var(--fg-dim);border-radius:50%;justify-content:center;align-items:center;transition:color .22s,border-color .22s,background-color .22s;display:inline-flex}.icons svg{width:18px;height:18px;display:block}.icons a:hover,.icons a:focus-visible{color:var(--fg);border-color:var(--fg);background-color:#ffffff0f}.icons a:focus-visible{outline:1px solid var(--fg);outline-offset:3px}@media (prefers-reduced-motion:reduce){.blob,.links li,.icons{animation:none}.links a,.link-label:after,.icons a{transition:none}}@media (prefers-contrast:more){.mesh,.grain,.vignette{display:none}.links a,.icons a{color:var(--fg)}}
