Skip to content

Instantly share code, notes, and snippets.

@tattwamasi
Created July 10, 2025 00:01
Show Gist options
  • Select an option

  • Save tattwamasi/2019a1348a062747818be3ee5e62ff5b to your computer and use it in GitHub Desktop.

Select an option

Save tattwamasi/2019a1348a062747818be3ee5e62ff5b to your computer and use it in GitHub Desktop.
Sunny Beach Day Vibes (Neon with Waves)
<div style="--i:0;" class="blur root">
<div style="--i:1;">
<div style="--i:2;">
<div style="--i:3;">
<div style="--i:4;">
<div style="--i:5;"></div>
</div>
</div>
</div>
</div>
</div>
<div style="--i:0;" class="root">
<div style="--i:1;">
<div style="--i:2;">
<div style="--i:3;">
<div style="--i:4;">
<div style="--i:5;"></div>
</div>
</div>
</div>
</div>
</div>
<div style="--i:0;" class="tube root">
<div style="--i:1;">
<div style="--i:2;">
<div style="--i:3;">
<div style="--i:4;">
<div style="--i:5;"></div>
</div>
</div>
</div>
</div>
</div>
<p><span style="--i:0;"></span><span style="--i:1;"></span><span style="--i:2;"></span><span style="--i:3;"></span><span style="--i:4;"></p>
div {
--h: 18;
border: 3vmin solid hsl(var(--h), 100%, var(--l, 50%));
border-left-color: transparent;
border-bottom-color: transparent;
border-radius: 50%;
margin: 2.5vmin;
min-height: 15vmin;
min-width: 15vmin;
max-width: 100vmin;
--prefix-transform: rotateZ(-0.125turn);
transform: var(--prefix-transform);
}
div,
p {
grid-column: 1;
grid-row: 1;
}
div > div {
--prefix-transform: ;
--h: 27;
}
div > div > div {
--h: 36;
}
div > div > div > div {
--h: 45;
}
div > div > div > div > div {
--h: 54;
}
div > div > div > div > div > div {
--h: 63;
}
.blur {
filter: blur(6px);
}
.tube,
.tube div {
border-style: solid;
--l: 95%;
border-width: 0.5vmin;
margin: 5.05vmin;
min-height: 12.75vmin;
min-width: 12.75vmin;
}
.tube {
filter: blur(2px);
}
p {
width: 100vmin;
height: 100vmin;
padding-top: 52.5vmin;
display: flex;
flex-direction: column;
align-items: center;
}
p span {
margin: 0 auto 2.75vmin;
display: block;
height: 2.75vmin;
width: 72%;
color: hsl(173, 100%, 50%);
background: linear-gradient(
to bottom,
currentColor,
currentColor,
currentColor,
hsl(173, 100%, 76%),
currentColor,
currentColor,
currentColor
);
border-left: 1vmin solid currentColor;
border-right: 1vmin solid currentColor;
border-radius: 1.5vmin;
filter: drop-shadow(0px 0px 5px currentColor);
animation: wavy 6000ms calc(var(--i) * -4400ms - 3000ms) infinite alternate
ease-in-out;
}
span + span {
width: 71%;
}
span + span {
width: 67%;
}
span + span + span {
width: 60%;
}
span + span + span + span {
width: 50%;
}
span + span + span + span + span {
width: 35%;
}
@keyframes wavy {
0% {
transform: translateX(-6%);
}
100% {
transform: translateX(6%);
}
}
body {
height: 100vh;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
place-items: center;
perspective: 100vmin;
overflow: hidden;
background: #16162c;
}
* {
margin: 0;
box-sizing: border-box;
position: relative;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment