<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@25ms</title> <style> :root{--_a:#fff;--_b:#080808;--_c:#8b0000;--_d:rgba(139,0,0,.65);--_e:rgba(139,0,0,.15);--_f:rgba(8,8,8,.75)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:monospace;background:var(--_b);min-height:100vh;display:grid;place-items:center;overflow:hidden}.a{position:fixed;inset:0;background:linear-gradient(180deg,#0000 0,var(--_f) 50%,#0000 100%);animation:d 25s linear infinite;z-index:2}.b{position:fixed;inset:0;background:radial-gradient(circle,#0000 35%,#000a 100%);z-index:1}.c{position:fixed;inset:0;z-index:0}.d{color:var(--_a);font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:.2em;position:relative;z-index:3;opacity:0;animation:e 2s ease-out .5s forwards;text-shadow:0 0 15px var(--_d),0 0 25px var(--_d)}.e{position:absolute;color:var(--_e);font-family:"Yu Gothic",sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);filter:blur(1px);user-select:none}.f{position:absolute;width:3px;background:var(--_c);top:0;filter:blur(1px);box-shadow:0 0 10px var(--_d)}.g{position:fixed;left:1rem;bottom:1rem;color:var(--_a);opacity:.6;font-size:.8rem;z-index:3}@keyframes d{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes e{0%{opacity:0;transform:translateY(-2rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes f{0%{height:0;opacity:1}to{height:200px;opacity:0;transform:translateY(100%)}}@keyframes g{0%{opacity:0;transform:translateY(-3rem)}50%{opacity:.25}to{opacity:0;transform:translateY(3rem)}} </style> </head> <body> <div class="b"></div> <div class="a"></div> <div class="c"></div> <div class="d">@25ms</div> <div class="g">made by @hauntedbymyactions</div> <script>!function(){const t=["\u6B7B","\u6016","\u60AA","\u9B54","\u95C7","\u6EC5","\u6050","\u8840"],e=class{constructor(){this.r=document.querySelector(".c"),this.s=50,this.t=[],this.i()}r(){if(this.t.length>=this.s)return;const e=document.createElement("div");e.className="e",e.textContent=t[Math.floor(Math.random()*t.length)],e.style.left=100*Math.random()+"%",e.style.top=100*Math.random()+"%",e.style.animation=`g ${5+4*Math.random()}s ease-out forwards`,this.r.appendChild(e),this.t.push({e:e,o:setTimeout(()=>{e.remove(),this.t=this.t.filter(t=>t.e!==e)},9e3)})}i(){setInterval(()=>this.r(),200)}},n=class{constructor(){this.r=document.querySelector(".d"),this.s()}s(){const t=document.createElement("div");t.className="f",t.style.left=100*Math.random()+"%",t.style.animation=`f ${4+3*Math.random()}s ease-in forwards`,document.body.appendChild(t),setTimeout(()=>t.remove(),7e3)}i(){setInterval(()=>this.s(),1e3)}};document.addEventListener("DOMContentLoaded",()=>{new e,new n;let t=0;const i=document.querySelector(".d");setInterval(()=>{t+=.3;const e=2*Math.sin(t*Math.PI/180),n=2*Math.cos(t*Math.PI/180);i.style.transform=`translate3d(${e}px,${n}px,0) rotateX(${5*Math.sin(t*Math.PI/360)}deg)`},50)})}();</script> </body> </html>
