JSFiddle - React, Tailwind, and code Playground
by katalin_2003
HTML
<h1>Ctln STO</h1>
CSS
:root {
--primary: #2ca500;
--secondary: #e8e1d9;
--accent: #c48d68;
--background: #0a0a0a;
--spacing: clamp(1.5rem, 5vw, 3.5rem);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Inter", sans-serif;
line-height: 1.6;
color: var(--secondary);
background: linear-gradient(
45deg,
var(--background) 0%,
#003300 50%,
var(--primary) 100%
);
background-attachment: fixed;
overflow-x: hidden;
min-height: 100vh;
}
h1 {
font-size: clamp(2.5rem, 7vw, 4.5rem);
line-height: 1.2;
font-weight: 300;
letter-spacing: -0.02em;
color: var(--primary);
text-shadow:
0 0 7px rgba(0, 165, 37, 0.8),
0 0 10px rgba(0, 165, 37, 0.3),
0 0 21px rgba(0, 165, 37, 0.3),
0 0 42px rgba(104, 196, 141, 0.3);
/*background: linear-gradient(45deg, #ff3300, var(--primary), var(--accent));*/
background: linear-gradient(45deg, #25CC0F 0%, #076A16 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
opacity: 0;
animation:
powerOn 1.5s ease-out forwards,
neonFlicker 4s infinite 2s; /* Starts after powerOn finishes (1.3s + 2s = 3.3s) */
}
@keyframes powerOn {
0% {
opacity: 0;
text-shadow: none;
}
40% {
opacity: 0;
text-shadow: none;
}
/* First flicker */
42% {
opacity: 0.8;
}
43% {
opacity: 0.1;
}
/* Second flicker */
60% {
opacity: 0.9;
}
61% {
opacity: 0.2;
}
/* Third flicker */
75% {
opacity: 0.8;
}
76% {
opacity: 0.3;
}
/* Final power on sequence */
85% {
opacity: 0.9;
}
86% {
opacity: 0.7;
}
87% {
opacity: 0.8;
}
100% {
opacity: 1;
}
}
@keyframes neonFlicker {
0%,
100% {
text-shadow:
0 0 7px rgba(0, 165, 37, 0.8),
0 0 10px rgba(0, 165, 37, 0.3),
0 0 21px rgba(0, 165, 37, 0.3),
0 0 42px rgba(104, 196, 141, 0.3);
}
50% {
text-shadow:
0 0 5px rgba(0, 165, 37, 0.7),
...