Initial commit — Singular Particular Space v1

Homepage (site/index.html): integration-v14 promoted, Writings section
integrated with 33 pieces clustered by type (stories/essays/miscellany),
Writings welcome lightbox, content frame at 98% opacity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 12:09:22 +02:00
commit 5422131782
359 changed files with 117437 additions and 0 deletions

View File

@@ -0,0 +1,637 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Soviet Cyberpunk Style Reference | Красный Неон</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Russo+One&family=Share+Tech+Mono&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<style>
/* ============================================
SOVIET CYBERPUNK STYLE REFERENCE
Красный Неон | Brutalist Future | Constructivist Code
UNIQUE FEATURE: Animated CRT Scan Lines
============================================ */
/* ===== 1. CSS RESET ===== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* ===== 2. CSS VARIABLES ===== */
:root {
/* --- BACKGROUND GRADIENT ---
Concrete to steel - Soviet brutalism */
--bg-gradient-1: #1a1a1a; /* Iron dark */
--bg-gradient-2: #242424; /* Concrete gray */
--bg-gradient-3: #2a2424; /* Rust shadow */
--bg-gradient-4: #2a2a2a; /* Steel dark */
/* --- SURFACE BACKGROUNDS --- */
--bg-elevated: rgba(255,60,60,0.05);
--bg-card: rgba(255,60,60,0.08);
--bg-darker: rgba(0,0,0,0.50);
--bg-solid-dark: #1a1a1a;
--bg-solid-light: #e8e8e8;
/* --- BORDERS ---
Brutalist thickness, constructivist precision */
--border-color: #cc0000;
--border-width: 2px;
--border-width-thick: 5px;
/* --- GLOW SYSTEM ---
Red: Communist power, revolution
Cyan: Cold neon, digital future
Yellow: Warning, construction */
--red-1: #ff3c3c; /* Neon red */
--red-2: #cc0000; /* Deep Soviet red */
--red-3: #990000; /* Dark crimson */
--cyan-1: #00ffff; /* Cold neon cyan */
--cyan-2: #00cccc; /* Deep cyan */
--cyan-3: #008b8b; /* Dark teal */
--yellow-1: #ffff00; /* Warning yellow */
--yellow-2: #cccc00; /* Construction gold */
/* --- TYPOGRAPHY COLORS --- */
--text-primary: #e8e8e8;
--text-secondary: #b8b8b8;
--text-white: #ffffff;
--text-h1-gradient: linear-gradient(90deg, #ff3c3c 0%, #00ffff 50%, #ffff00 100%);
--text-h2: #ff3c3c; /* Neon red */
--text-h3: #00ffff; /* Cyan */
--text-h4: #ffff00; /* Yellow */
--text-h5: #b8b8b8; /* Gray */
--text-h6: #e8e8e8; /* Primary */
/* --- BUTTON GRADIENTS --- */
--btn-red-gradient: linear-gradient(45deg, #ff3c3c 0%, #cc0000 100%);
--btn-cyan-gradient: linear-gradient(45deg, #00ffff 0%, #008b8b 100%);
--btn-yellow-gradient: linear-gradient(45deg, #ffff00 0%, #cccc00 100%);
/* --- FONTS --- */
--font-header: 'Russo One', sans-serif;
--font-body: 'Share Tech Mono', monospace;
--font-mono: 'JetBrains Mono', monospace;
}
/* ===== UNIQUE FEATURE: CRT SCAN LINES ===== */
@keyframes scan-lines {
0% { transform: translateY(-100%); }
100% { transform: translateY(100vh); }
}
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
0deg,
rgba(255, 60, 60, 0.03) 0px,
transparent 1px,
transparent 2px,
rgba(0, 255, 255, 0.03) 3px,
transparent 4px
);
animation: scan-lines 8s linear infinite;
pointer-events: none;
z-index: 9999;
opacity: 0.7;
}
/* Static scan line overlay */
body::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
0deg,
rgba(0, 0, 0, 0.15) 0px,
transparent 1px,
transparent 2px
);
pointer-events: none;
z-index: 9998;
}
/* ===== 3. BASE STYLES ===== */
body {
font-family: var(--font-body);
background: linear-gradient(135deg,
var(--bg-gradient-1) 0%,
var(--bg-gradient-2) 33%,
var(--bg-gradient-3) 66%,
var(--bg-gradient-4) 100%);
background-attachment: fixed;
color: var(--text-primary);
line-height: 1.6;
min-height: 100vh;
padding: 20px;
position: relative;
}
/* ===== 4. LAYOUT ===== */
.container {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
}
.grid {
display: grid;
gap: 1.5rem;
margin-bottom: 1.5rem;
}
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
/* ===== 5. TYPOGRAPHY ===== */
h1 {
font-size: clamp(2rem, 5vw, 3rem);
font-weight: 700;
margin-bottom: 1rem;
background: var(--text-h1-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-transform: uppercase;
letter-spacing: 0.1em;
font-family: var(--font-header);
position: relative;
}
/* Cyrillic-inspired decorative element */
h1::after {
content: '█';
position: absolute;
right: -1rem;
top: 0;
color: var(--red-1);
animation: blink 1.5s infinite;
}
@keyframes blink {
0%, 49% { opacity: 1; }
50%, 100% { opacity: 0; }
}
h2 {
font-size: clamp(1.5rem, 4vw, 2rem);
font-weight: 700;
color: var(--text-h2);
margin-bottom: 1rem;
text-transform: uppercase;
letter-spacing: 0.08em;
font-family: var(--font-header);
text-shadow: 0 0 20px rgba(255, 60, 60, 0.6),
0 0 40px rgba(255, 60, 60, 0.3);
}
h3 {
font-size: clamp(1.25rem, 3vw, 1.5rem);
font-weight: 600;
color: var(--text-h3);
margin-bottom: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
font-family: var(--font-header);
text-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}
h4 {
font-size: clamp(1.1rem, 2.5vw, 1.25rem);
font-weight: 600;
color: var(--text-h4);
margin-bottom: 0.75rem;
font-family: var(--font-header);
text-shadow: 0 0 15px rgba(255, 255, 0, 0.5);
}
h5 {
font-size: 1.1rem;
font-weight: 600;
color: var(--text-h5);
margin-bottom: 0.5rem;
font-family: var(--font-header);
}
h6 {
font-size: 1rem;
font-weight: 600;
color: var(--text-h6);
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.05em;
font-family: var(--font-header);
}
p {
margin-bottom: 1rem;
line-height: 1.7;
}
strong {
color: var(--red-1);
font-weight: 600;
text-shadow: 0 0 10px rgba(255, 60, 60, 0.4);
}
em {
color: var(--cyan-1);
font-style: italic;
text-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
}
code {
font-family: var(--font-mono);
background: var(--bg-elevated);
padding: 0.2rem 0.4rem;
border: 1px solid var(--cyan-2);
border-radius: 0;
font-size: 0.9em;
color: var(--cyan-1);
}
pre {
font-family: var(--font-mono);
background: var(--bg-elevated);
padding: 1rem;
border: var(--border-width) solid var(--red-2);
border-left: var(--border-width-thick) solid var(--red-1);
border-radius: 0;
overflow-x: auto;
margin-bottom: 1.5rem;
}
pre code {
background: transparent;
border: none;
padding: 0;
}
/* ===== BUTTONS ===== */
.btn {
display: inline-block;
padding: 0.875rem 2rem;
text-decoration: none;
font-weight: 600;
font-size: 1rem;
transition: transform 0.3s, box-shadow 0.3s;
cursor: pointer;
border: var(--border-width) solid;
font-family: var(--font-body);
border-radius: 0;
text-transform: uppercase;
letter-spacing: 0.1em;
position: relative;
overflow: hidden;
}
.btn::before {
content: '▶';
position: absolute;
left: 10px;
transition: transform 0.3s;
}
.btn:hover::before {
transform: translateX(5px);
}
.btn-red {
background: var(--btn-red-gradient);
color: white;
border-color: var(--red-1);
box-shadow: 0 0 20px rgba(255, 60, 60, 0.5), 0 0 40px rgba(255, 60, 60, 0.3);
}
.btn-red:hover {
transform: scale(1.04);
box-shadow: 0 0 30px rgba(255, 60, 60, 0.7), 0 0 60px rgba(255, 60, 60, 0.4);
}
.btn-cyan {
background: var(--btn-cyan-gradient);
color: #000;
border-color: var(--cyan-1);
box-shadow: 0 0 20px rgba(0, 255, 255, 0.5), 0 0 40px rgba(0, 255, 255, 0.3);
}
.btn-cyan:hover {
transform: scale(1.04);
box-shadow: 0 0 30px rgba(0, 255, 255, 0.7), 0 0 60px rgba(0, 255, 255, 0.4);
}
.btn-yellow {
background: var(--btn-yellow-gradient);
color: #000;
border-color: var(--yellow-1);
box-shadow: 0 0 20px rgba(255, 255, 0, 0.5), 0 0 40px rgba(255, 255, 0, 0.3);
}
.btn-yellow:hover {
transform: scale(1.04);
box-shadow: 0 0 30px rgba(255, 255, 0, 0.7), 0 0 60px rgba(255, 255, 0, 0.4);
}
/* ===== CARDS & PANELS ===== */
.card {
background: var(--bg-card);
backdrop-filter: blur(10px);
border: var(--border-width) solid var(--border-color);
border-left: var(--border-width-thick) solid var(--red-1);
border-radius: 0;
padding: 1.5rem;
margin-bottom: 1.5rem;
position: relative;
}
.card::before {
content: '■';
position: absolute;
top: 1rem;
right: 1rem;
color: var(--red-1);
font-size: 1.5rem;
opacity: 0.3;
}
.card-elevated {
background: var(--bg-elevated);
backdrop-filter: blur(10px);
border: var(--border-width) solid var(--cyan-2);
border-radius: 0;
padding: 1.5rem;
margin-bottom: 1.5rem;
}
.card-glow-red {
box-shadow: 0 0 30px rgba(255, 60, 60, 0.4),
inset 0 0 20px rgba(255, 60, 60, 0.1);
}
.card-glow-cyan {
box-shadow: 0 0 30px rgba(0, 255, 255, 0.4),
inset 0 0 20px rgba(0, 255, 255, 0.1);
}
.card-propaganda {
background: rgba(232, 232, 232, 0.95);
border: var(--border-width-thick) solid var(--red-2);
color: #1a1a1a;
padding: 2rem;
margin-bottom: 1.5rem;
box-shadow: 0 0 40px rgba(204, 0, 0, 0.4);
position: relative;
}
.card-propaganda::after {
content: '☭';
position: absolute;
bottom: 1rem;
right: 1rem;
font-size: 4rem;
opacity: 0.1;
color: var(--red-2);
}
.card-propaganda h1,
.card-propaganda h2,
.card-propaganda h3,
.card-propaganda h4,
.card-propaganda h5,
.card-propaganda h6 {
color: var(--red-3);
background: none;
-webkit-text-fill-color: var(--red-3);
}
.card-propaganda p,
.card-propaganda li {
color: #1a1a1a;
}
.card-propaganda strong {
color: var(--red-2);
text-shadow: none;
}
/* ===== BADGES ===== */
.badge {
display: inline-block;
padding: 0.375rem 0.875rem;
border-radius: 0;
font-size: 0.875rem;
font-weight: 600;
border: var(--border-width) solid;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.badge-red {
background: rgba(255, 60, 60, 0.15);
color: var(--red-1);
border-color: var(--red-1);
box-shadow: 0 0 15px rgba(255, 60, 60, 0.3);
}
.badge-cyan {
background: rgba(0, 255, 255, 0.15);
color: var(--cyan-1);
border-color: var(--cyan-1);
box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}
.badge-yellow {
background: rgba(255, 255, 0, 0.15);
color: var(--yellow-1);
border-color: var(--yellow-1);
box-shadow: 0 0 15px rgba(255, 255, 0, 0.3);
}
/* ===== ALERTS ===== */
.alert {
padding: 1rem 1.5rem;
border-radius: 0;
border: var(--border-width) solid;
border-left: var(--border-width-thick) solid;
margin-bottom: 1.5rem;
}
.alert-red {
background: rgba(255, 60, 60, 0.1);
border-color: var(--red-1);
border-left-color: var(--red-1);
color: var(--text-primary);
box-shadow: 0 0 20px rgba(255, 60, 60, 0.2);
}
.alert-cyan {
background: rgba(0, 255, 255, 0.1);
border-color: var(--cyan-1);
border-left-color: var(--cyan-1);
color: var(--text-primary);
box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
}
.alert-yellow {
background: rgba(255, 255, 0, 0.1);
border-color: var(--yellow-1);
border-left-color: var(--yellow-1);
color: var(--text-primary);
box-shadow: 0 0 20px rgba(255, 255, 0, 0.2);
}
/* ===== UTILITY CLASSES ===== */
.text-center { text-align: center; }
.mt-2 { margin-top: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
/* ===== HORIZONTAL RULE ===== */
hr {
border: none;
height: var(--border-width-thick);
background: linear-gradient(to right,
var(--red-1),
var(--cyan-1),
var(--yellow-1));
margin: 2.5rem 0;
box-shadow: 0 0 20px rgba(255, 60, 60, 0.3);
}
</style>
</head>
<body>
<div class="container">
<!-- HEADER -->
<header class="text-center mb-3">
<h1>SOVIET CYBERPUNK</h1>
<p style="font-size: 1.25rem; color: var(--cyan-1); text-shadow: 0 0 15px rgba(0,255,255,0.5);">КРАСНЫЙ НЕОН | BRUTALIST FUTURE | CONSTRUCTIVIST CODE</p>
</header>
<hr>
<!-- UNIQUE FEATURE SHOWCASE -->
<section class="mb-3">
<div class="card-propaganda">
<h2>⚡ UNIQUE FEATURE: CRT SCAN LINES</h2>
<p>This design system features <strong>animated CRT scan lines</strong> that continuously sweep across the entire screen, simulating old Soviet-era monitors and Cold War terminals.</p>
<p>The scan lines use a dual-layer approach: one layer animates vertically, while a static layer provides the baseline CRT texture. This creates an <em>authentic retro-futuristic experience</em>.</p>
<p>Notice the blinking cursor (█) after H1 headings and the arrow (▶) decorators on buttons—small details that enhance the terminal aesthetic.</p>
</div>
</section>
<!-- COLOR PALETTE -->
<section class="mb-3">
<h2>NEON SPECTRUM</h2>
<div class="grid grid-3">
<div class="card" style="background: var(--red-1); color: #000;">
<h4 style="color: #000;">NEON RED</h4>
<code style="background: rgba(0,0,0,0.3); color: #000; border-color: #000;">#ff3c3c</code>
</div>
<div class="card" style="background: var(--cyan-1); color: #000;">
<h4 style="color: #000;">COLD CYAN</h4>
<code style="background: rgba(0,0,0,0.3); color: #000; border-color: #000;">#00ffff</code>
</div>
<div class="card" style="background: var(--yellow-1); color: #000;">
<h4 style="color: #000;">WARNING YELLOW</h4>
<code style="background: rgba(0,0,0,0.3); color: #000; border-color: #000;">#ffff00</code>
</div>
<div class="card" style="background: var(--red-2); color: white;">
<h4 style="color: white;">SOVIET RED</h4>
<code style="background: rgba(255,255,255,0.2); color: white; border-color: white;">#cc0000</code>
</div>
<div class="card" style="background: var(--cyan-3); color: white;">
<h4 style="color: white;">DARK TEAL</h4>
<code style="background: rgba(255,255,255,0.2); color: white; border-color: white;">#008b8b</code>
</div>
<div class="card" style="background: var(--red-3); color: white;">
<h4 style="color: white;">DARK CRIMSON</h4>
<code style="background: rgba(255,255,255,0.2); color: white; border-color: white;">#990000</code>
</div>
</div>
</section>
<hr>
<!-- BUTTONS -->
<section class="mb-3">
<h2>COMMAND BUTTONS</h2>
<div class="grid grid-3">
<div class="card card-glow-red">
<h3>RED</h3>
<button class="btn btn-red">EXECUTE</button>
</div>
<div class="card card-glow-cyan">
<h3>CYAN</h3>
<button class="btn btn-cyan">ACCESS</button>
</div>
<div class="card">
<h3>YELLOW</h3>
<button class="btn btn-yellow">WARNING</button>
</div>
</div>
</section>
<!-- BADGES -->
<section class="mb-3">
<h2>STATUS BADGES</h2>
<div class="card">
<span class="badge badge-red">ACTIVE</span>
<span class="badge badge-cyan">ONLINE</span>
<span class="badge badge-yellow">ALERT</span>
</div>
</section>
<hr>
<!-- ALERTS -->
<section class="mb-3">
<h2>SYSTEM MESSAGES</h2>
<div class="alert alert-red">
<strong>PRIORITY ALERT:</strong> Central processing unit operating at maximum capacity.
</div>
<div class="alert alert-cyan">
<strong>SYSTEM INFO:</strong> Network connection established to collective mainframe.
</div>
<div class="alert alert-yellow">
<strong>CAUTION:</strong> Memory buffer approaching critical threshold.
</div>
</section>
<!-- PHILOSOPHY -->
<section class="mb-3">
<h2>DESIGN PRINCIPLES</h2>
<div class="card-propaganda">
<h3>CONSTRUCTIVIST CODE MANIFESTO</h3>
<ul>
<li><strong>BRUTALIST GEOMETRY:</strong> Sharp angles, thick borders, constructivist precision</li>
<li><strong>CRT AESTHETICS:</strong> Animated scan lines simulate Soviet-era terminals</li>
<li><strong>NEON TRINITY:</strong> Red (revolution), Cyan (cold future), Yellow (warning)</li>
<li><strong>MONOSPACE EVERYWHERE:</strong> Terminal-style typography throughout</li>
<li><strong>UPPERCASE POWER:</strong> Command-line authority in every heading</li>
<li><strong>SOVIET SYMBOLS:</strong> Hammer and sickle (☭), geometric blocks (■)</li>
<li><strong>PROPAGANDA CARDS:</strong> Light backgrounds with heavy red borders</li>
</ul>
</div>
</section>
<!-- FOOTER -->
<footer class="card card-glow-red text-center" style="padding: 2rem;">
<h2>SOVIET CYBERPUNK COMPLETE</h2>
<p style="margin-top: 1rem;">THE FUTURE WAS BUILT IN CONCRETE AND NEON ☭⚡</p>
</footer>
</div>
</body>
</html>