<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TERMINAL://W0RMS</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #0a0a0a;
font-family: 'Courier New', monospace;
color: #8b6f47;
overflow-x: hidden;
position: relative;
min-height: 100vh;
}
.dirt-texture {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(circle at 20% 30%, rgba(101, 67, 33, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, rgba(139, 90, 43, 0.1) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(70, 50, 30, 0.05) 0%, transparent 60%);
pointer-events: none;
z-index: 9999;
}
.soil-particles {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
radial-gradient(1px 1px at 20% 30%, #654321, transparent),
radial-gradient(1px 1px at 60% 70%, #8b5a2b, transparent),
radial-gradient(1px 1px at 50% 50%, #654321, transparent),
radial-gradient(1px 1px at 80% 10%, #8b5a2b, transparent),
radial-gradient(1px 1px at 90% 60%, #654321, transparent),
radial-gradient(1px 1px at 15% 80%, #8b5a2b, transparent);
background-size: 200px 200px, 150px 150px, 180px 180px, 220px 220px, 190px 190px, 160px 160px;
background-position: 0 0, 40px 60px, 130px 270px, 70px 100px, 210px 40px, 160px 180px;
opacity: 0.3;
z-index: 9999;
}
.container {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
position: relative;
z-index: 99999;
}
.terminal {
background: rgba(40, 30, 20, 0.95);
border: 3px solid #654321;
box-shadow:
0 0 40px rgba(101, 67, 33, 0.6),
inset 0 0 60px rgba(0, 0, 0, 0.8),
0 10px 30px rgba(0, 0, 0, 0.9);
padding: 40px;
max-width: 800px;
width: 100%;
position: relative;
}
.terminal::before {
content: '';
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
background: linear-gradient(45deg, #3d2817, #654321, #3d2817);
z-index: -1;
opacity: 0.5;
}
.terminal-header {
border-bottom: 2px solid #654321;
padding-bottom: 15px;
margin-bottom: 25px;
display: flex;
justify-content: space-between;
align-items: center;
}
.terminal-title {
font-size: 14px;
text-shadow: 0 0 10px rgba(139, 111, 71, 0.8);
color: #a0826d;
}
.terminal-time {
font-size: 12px;
opacity: 0.6;
color: #8b6f47;
}
.content {
line-height: 1.8;
}
.line {
opacity: 0;
animation: fadeIn 0.3s forwards;
margin: 10px 0;
}
.line:nth-child(1) { animation-delay: 0.5s; }
.line:nth-child(2) { animation-delay: 1s; }
.line:nth-child(3) { animation-delay: 1.5s; }
.line:nth-child(4) { animation-delay: 2s; }
.line:nth-child(5) { animation-delay: 2.5s; }
.line:nth-child(6) { animation-delay: 3s; }
.line:nth-child(7) { animation-delay: 3.5s; }
.prompt {
color: #d2691e;
}
.highlight {
color: #cd853f;
text-shadow: 0 0 15px rgba(205, 133, 63, 0.8);
font-weight: bold;
font-size: 28px;
letter-spacing: 2px;
}
.ascii-art {
color: #8b6f47;
text-shadow: 0 0 8px rgba(139, 111, 71, 0.5);
margin: 25px 0;
font-size: 11px;
line-height: 1.1;
}
.cursor {
display: inline-block;
width: 10px;
height: 18px;
background: #8b6f47;
animation: blink 1s infinite;
margin-left: 5px;
}
@keyframes fadeIn {
to {
opacity: 1;
}
}
@keyframes blink {
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
}
.worm-trail {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 99998;
pointer-events: none;
}
.worm {
position: absolute;
width: 3px;
height: 20px;
background: linear-gradient(to bottom, #654321, #3d2817);
border-radius: 50%;
opacity: 0.4;
animation: crawl 15s infinite linear;
}
@keyframes crawl {
0% {
transform: translateY(-20px) translateX(0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 0.4;
}
90% {
opacity: 0.4;
}
100% {
transform: translateY(100vh) translateX(50px) rotate(360deg);
opacity: 0;
}
}
.status {
color: #a0826d;
}
</style>
</head>
<body>
<div class="dirt-texture"></div>
<div class="soil-particles"></div>
<div class="worm-trail" id="wormTrail"></div>
<div class="container">
<div class="terminal">
<div class="terminal-header">
<div class="terminal-title">root@underground:~# SOIL_NETWORK_v1.0</div>
<div class="terminal-time" id="time"></div>
</div>
<div class="content">
<div class="line"><span class="prompt">></span> Tunneling through layers...</div>
<div class="line"><span class="prompt">></span> Decomposing encrypted matter... [<span class="status">ORGANIC</span>]</div>
<div class="line"><span class="prompt">></span> Burrowing deep into substrate... [<span class="status">COMPLETE</span>]</div>
<div class="line"><span class="prompt">></span> Connection to mycelium network established.</div>
<div class="line" style="margin-top: 25px;">
<pre class="ascii-art">
____________________
/ \
| ~~~ ~~~ ~~~ ~~~ |
\ BENEATH THE SURFACE /
\____________________/
| |
~~~~~~~~ ~~~~~~~~
~~~ WORM NETWORK ~~~
~~~~~~~~ ~~~~~~~~
</pre>
</div>
<div class="line" style="text-align: center; margin: 35px 0;">
<span class="highlight">W0rms is beautiful</span>
</div>
<div class="line"><span class="prompt">></span> Message authenticated by soil collective.<span class="cursor"></span></div>
</div>
</div>
</div>
<script>
// Update time
function updateTime() {
const now = new Date();
const timeStr = now.toLocaleTimeString('en-US', { hour12: false });
document.getElementById('time').textContent = timeStr;
}
updateTime();
setInterval(updateTime, 1000);
// Create crawling worms
const wormTrail = document.getElementById('wormTrail');
function createWorm() {
const worm = document.createElement('div');
worm.className = 'worm';
worm.style.left = Math.random() * 100 + '%';
worm.style.animationDuration = (10 + Math.random() * 20) + 's';
worm.style.animationDelay = Math.random() * 5 + 's';
wormTrail.appendChild(worm);
setTimeout(() => {
worm.remove();
}, 25000);
}
// Create initial worms
for (let i = 0; i < 15; i++) {
setTimeout(createWorm, i * 1000);
}
// Keep creating worms
setInterval(() => {
if (wormTrail.children.length < 20) {
createWorm();
}
}, 2000);
</script>
</body>
</html>