Siteβ―Builder
Editing:
eye1.html
writable 0666
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Download Promptinator</title> <style> /* ---------- core layout ---------- */ :root { --eye-size: 300px; } html,body{ height:100%;margin:0; display:flex;flex-direction:column; align-items:center;justify-content:center; background:#0a0a0a; font-family:system-ui,Segoe UI,Roboto,sans-serif; color:#fff; } /* subtle curvedβpanel vignette */ body::before{ content:''; position:fixed;inset:0;pointer-events:none; background: radial-gradient(ellipse at 60% 40%,rgba(40,40,40,.35) 0%,transparent 60%), radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.6) 90%); } /* ---------- eye assembly ---------- */ .eye-container{ position:relative; width:var(--eye-size);height:var(--eye-size); filter:drop-shadow(0 0 40px rgba(255,0,0,.2)); /* red halo on page */ } /* outer ring β conic gradient = brushed metal + bevel */ .metallic-surround{ position:absolute;inset:0;border-radius:50%; background: conic-gradient(#8b8b8b 0deg 45deg,#cfcfcf 45deg 90deg, #9e9e9e 90deg 135deg,#d5d5d5 135deg 180deg, #8b8b8b 180deg 225deg,#cfcfcf 225deg 270deg, #9e9e9e 270deg 315deg,#d5d5d5 315deg 360deg); box-shadow: inset 0 0 25px rgba(0,0,0,.65), /* inner dark edge */ 0 0 15px rgba(0,0,0,.6); /* outer drop */ } /* brushedβmetal noise overlay */ .metallic-surround::after{ content:''; position:absolute;inset:0;border-radius:50%; background:repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 2px, transparent 2px 4px); mix-blend-mode:overlay;pointer-events:none; } /* iris & glow */ .iris{ position:absolute;top:50%;left:50%; width:200px;height:200px;transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,#ff2d2d 0%,#8b0000 85%); animation:pulse 2s linear infinite; box-shadow:0 0 60px 20px rgba(255,0,0,.7); /* stronger glow */ } /* pulsing animation */ @keyframes pulse{ 0%,100%{box-shadow:0 0 60px 20px rgba(255,0,0,.7);} 50% {box-shadow:0 0 90px 35px rgba(255,0,0,.9);} } /* pupil */ .pupil{ position:absolute;top:50%;left:50%; width:60px;height:60px;transform:translate(-50%,-50%); background:#000;border-radius:50%; box-shadow:inset 0 0 8px rgba(255,0,0,.4); transition:transform .05s linear; } /* ---------- download button ---------- */ .download-link a{ display:inline-block; margin-top:32px; padding:.7em 1.4em; font-size:1rem;letter-spacing:2px;text-transform:uppercase; background:#ff0000;border-radius:4px;text-decoration:none; color:#fff;transition:background .3s; } .download-link a:hover{background:#c40000;} </style> </head> <body> <div class="eye-container"> <div class="metallic-surround"> <div class="iris"> <div class="pupil"></div> </div> </div> </div> <div class="download-link"> <a href="Promptinator.zip" download>Download Promptinator</a> </div> <script> /* pupilβtracking: keeps code you already had, but normalises offset */ const iris = document.querySelector('.iris'); const pupil = document.querySelector('.pupil'); const max = 25; // px travel from centre document.addEventListener('mousemove', e=>{ const r = iris.getBoundingClientRect(); const cx = r.left + r.width/2; const cy = r.top + r.height/2; const dx = e.clientX - cx; const dy = e.clientY - cy; const dist= Math.hypot(dx,dy); const angle = Math.atan2(dy,dx); const move = Math.min(dist, max); const x = Math.cos(angle)*move; const y = Math.sin(angle)*move; pupil.style.transform = `translate(${x}px,${y}px) translate(-50%,-50%)`; }); </script> </body> </html>
Save changes
Create folder
writable 0777
Create
Cancel