<div class="spotlight-wrapper">
<div class="spotlight-header">
<h2>Next-Gen Platform</h2>
<p>Hover over the features below to reveal the interactive spotlight glow.</p>
</div>
<div class="spotlight-grid" id="spotlight-grid">
<div class="spotlight-card">
<div class="card-inner">
<div class="icon-circle">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
</div>
<h3>Lightning Fast</h3>
<p>Built with modern APIs and zero heavy dependencies so your site loads instantly.</p>
</div>
</div>
<div class="spotlight-card">
<div class="card-inner">
<div class="icon-circle">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
</div>
<h3>Ultra Secure</h3>
<p>Your data is protected by industry-leading encryption and security standards.</p>
</div>
</div>
<div class="spotlight-card">
<div class="card-inner">
<div class="icon-circle">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
</div>
<h3>Global Reach</h3>
<p>Deploy your application to a global edge network with just a single click.</p>
</div>
</div>
</div>
</div>*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
background: #000000;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
padding: 40px 20px;
}
.spotlight-wrapper {
width: 100%;
max-width: 1000px;
}
.spotlight-header {
text-align: center;
margin-bottom: 50px;
}
.spotlight-header h2 {
color: #f8fafc;
font-size: 2.5rem;
margin: 0 0 10px 0;
}
.spotlight-header p {
color: #94a3b8;
font-size: 1.125rem;
margin: 0;
}
.spotlight-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
position: relative;
}
.spotlight-card {
position: relative;
background: rgba(255, 255, 255, 0.05);
border-radius: 16px;
padding: 2px;
overflow: hidden;
}
/* The radial gradient glow that follows the mouse */
.spotlight-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(400px circle at var(--mouse-x, 0) var(--mouse-y, 0), rgba(59, 130, 246, 0.4), transparent 40%);
z-index: 0;
opacity: 0;
transition: opacity 0.3s ease;
}
.spotlight-grid:hover .spotlight-card::before {
opacity: 1;
}
.card-inner {
position: relative;
background: #0f172a;
border-radius: 14px;
height: 100%;
padding: 30px;
z-index: 1;
display: flex;
flex-direction: column;
}
.icon-circle {
width: 48px;
height: 48px;
background: rgba(59, 130, 246, 0.1);
color: #3b82f6;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}
.card-inner h3 {
color: #f8fafc;
margin: 0 0 12px 0;
font-size: 1.25rem;
}
.card-inner p {
color: #94a3b8;
margin: 0;
line-height: 1.6;
}const grid = document.getElementById("spotlight-grid");
const cards = document.querySelectorAll(".spotlight-card");
grid.addEventListener("mousemove", function(e) {
cards.forEach(function(card) {
const rect = card.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
// Pass the coordinates directly to CSS variables
card.style.setProperty("--mouse-x", x + "px");
card.style.setProperty("--mouse-y", y + "px");
});
});Nothing to show yetType HTML, CSS or JavaScript and your page appears here.
Click any element to find its code Esc
Check this code before you run it
It came from a shared link. It runs with fewer permissions, so it cannot open pop-ups, submit forms or start downloads.
0.00s / 0.00s
Nothing has animated yet. Hover, click or type in the preview and each CSS animation, transition or
element.animate() call shows up here as it plays.