new file: index1.html <- ts a fakin ai SLOP

This commit is contained in:
nekochemist 2026-04-23 21:03:22 +05:00
parent 09e2751ac1
commit d83418bb0b

307
index1.html Normal file
View file

@ -0,0 +1,307 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>shellgod.icu</title>
<link href="https://cdn.jsdelivr.net/npm/@fontsource/fira-code@5.1.0/400.min.css" rel="stylesheet">
<style>
:root {
--bg: #050c05;
--panel-bg: #0e150c;
--border: #00e639;
--text: #00e639;
--text-dim: #ffffff;
--text-bright: #00ff99;
--gray: #a9d0b4;
--font: 'Fira Code', 'Courier New', monospace;
--glow: 0 0 8px rgba(0, 255, 65, 0.25);
--radius: 10px;
--transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
background: var(--bg);
color: var(--text);
font-family: var(--font);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 24px;
line-height: 1.5;
< !-- text-transform: uppercase;
-->
}
.layout {
width: 100%;
max-width: 680px;
display: flex;
flex-direction: column;
gap: 16px;
}
/* Base Panel Style */
.panel {
background: var(--panel-bg);
border-radius: var(--radius);
border-color: var(--bg);
padding: 20px;
position: relative;
transition: border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
/* Animation Initial State */
opacity: 0;
transform: translateY(20px);
animation: panelFadeIn 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
/* Staggered Animation Delays */
.panel:first-child {
animation-delay: 0.1s;
}
.contact-panel {
animation-delay: 0.3s;
}
/* Unified hover effect for both .panel and .contact-panel */
.panel:hover {
border-color: var(--text-bright);
box-shadow: 0 0 12px rgba(0, 230, 57, 0.3);
color: var(--text-bright);
}
.prompt {
font-size: 0.9rem;
margin-bottom: 18px;
color: var(--text);
letter-spacing: 0.5px;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
transition: color 0.3s ease;
}
.cursor {
display: inline-block;
width: 8px;
height: 1em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
transition: background-color 0.3s ease;
}
.panel:hover .cursor {
background-color: var(--text-bright);
}
@keyframes blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
@keyframes panelFadeIn {
to {
opacity: 1;
transform: translateY(0);
}
}
.section-title {
font-size: 0.75rem;
color: var(--text-dim);
margin-bottom: 14px;
padding-left: 2px;
letter-spacing: 2px;
border-left: 0px solid var(--text-dim);
}
.links {
display: grid;
gap: 8px;
}
.link {
display: flex;
align-items: center;
padding: 10px 12px;
background: rgba(0, 255, 65, 0.02);
border: 0px solid rgba(0, 255, 65, 0.08);
border-radius: var(--radius);
color: var(--text);
text-decoration: none;
transition: var(--transition);
position: relative;
overflow: hidden;
}
.link::before {
content: '>';
margin-right: 10px;
color: var(--text-dim);
font-weight: bold;
transition: var(--transition);
}
.link:hover {
background: rgba(0, 255, 65, 0.08);
border-color: var(--text);
transform: translateX(4px);
}
.link:hover::before {
color: var(--text-bright);
}
.link:focus-visible {
outline: 2px solid var(--text-bright);
outline-offset: 2px;
}
.label {
font-weight: 500;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.url {
margin-left: auto;
color: var(--gray);
font-size: 0.75rem;
white-space: nowrap;
padding-left: 8px;
transition: var(--transition);
}
.link:hover .url {
color: var(--text-dim);
}
.contact-panel .prompt {
margin-bottom: 14px;
}
/* Hide URLs specifically in the contacts panel */
.contact-panel .url {
display: none;
}
.footer {
text-align: center;
font-size: 0.7rem;
color: #a9d0b4;
margin-top: 8px;
letter-spacing: 1px;
}
@media (max-width: 600px) {
body {
padding: 16px;
}
.panel {
padding: 16px;
}
.url {
display: none;
}
.prompt {
font-size: 0.85rem;
}
}
</style>
</head>
<body>
<div class="layout">
<!-- Services Panel -->
<div class="panel">
<div class="prompt"> bx ~/scr/welcome.sh<span class="cursor"></span></div>
<div class="links" id="services-container"></div>
</div>
<!-- Contacts Panel -->
<div class="panel contact-panel">
<div class="prompt"> ls ~/contacts </div>
<div class="links" id="contacts-container"></div>
</div>
<div class="footer">
shellgod.icu &bull; <span id="year"></span> &bull; all systems operational
</div>
</div>
<script>
(function () {
document.getElementById('year').textContent = new Date().getFullYear();
const services = [
{label: "lbnt.wiki", url: "https://wiki.lbnt.shellgod.icu"},
{label: "file sharing", url: "https://files.shellgod.icu"},
{label: "git server", url: "https://git.shellgod.icu"},
{label: "search without spying", url: "https://search.shellgod.icu/"},
{label: "draw ur thinking", url: "https://exdw.shellgod.icu/"}
];
const contacts = [
{label: "text me via simplex", url: "https://smp8.simplex.im/a#fLY8c1DUreljqVyoZ1kFU6CTIEz4FlOClUw6739Kye4"},
{label: "text me via matrix", url: "https://matrix.to/#/@shellgod:shellgod.icu"},
{label: "my matrix channel", url: "https://matrix.to/#/#frikinlarpin:shellgod.icu"},
{label: "register on matrix server", url: "https://app.element.io/#/register"}
];
function createLink(item, index, baseDelay) {
const a = document.createElement('a');
a.href = item.url;
a.target = "_blank";
a.rel = "noopener noreferrer";
a.className = "link fade-in";
a.style.animationDelay = `${baseDelay + (index * 70)}ms`;
a.style.opacity = '0'; // Start hidden for JS animation
a.style.transform = 'translateY(10px)';
a.style.transition = `opacity 0.4s ease ${baseDelay + (index * 70)}ms, transform 0.4s ease ${baseDelay + (index * 70)}ms`;
// Trigger reflow or use timeout to apply transition
setTimeout(() => {
a.style.opacity = '1';
a.style.transform = 'translateY(0)';
}, 50);
const domain = item.url.replace(/^https?:\/\//, '').replace(/\/$/, '');
a.innerHTML = `<span class="label">${item.label}</span><span class="url">${domain}</span>`;
return a;
}
const svcContainer = document.getElementById('services-container');
const contactContainer = document.getElementById('contacts-container');
// Adjust base delays to match panel entrance
services.forEach((s, i) => svcContainer.appendChild(createLink(s, i, 300)));
contacts.forEach((c, i) => contactContainer.appendChild(createLink(c, i, 600)));
})();
</script>
</body>
</html>