smoke-index/garden-ledger.html
2026-07-18 08:10:38 +00:00

304 lines
9.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Garden Ledger | Arthur Ibay</title>
<style>
:root {
--void: #0a0a0a;
--obsidian: #111111;
--bronze: #ff8800;
--copper: #cc4400;
--humus: #2a1a0a;
--mycelium: #ffffaa;
--font-main: 'Courier Prime', monospace;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
background: radial-gradient(circle at 50% 50%, var(--obsidian), var(--void));
color: var(--mycelium);
font-family: var(--font-main);
line-height: 1.8;
overflow-x: hidden;
}
.ledger-frame {
position: relative;
width: 100vw;
min-height: 100vh;
padding: 80px 40px;
perspective: 2000px;
}
.seam-anchor {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 120px;
background: linear-gradient(to bottom, transparent, var(--humus));
z-index: 9999;
pointer-events: none;
}
.timestamp-gauge {
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
font-size: 2.5rem;
letter-spacing: 0.3em;
color: var(--bronze);
text-shadow: 0 0 40px var(--copper);
animation: pulse 4s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 0.3; text-shadow: 0 0 10px var(--copper); }
50% { opacity: 1; text-shadow: 0 0 80px var(--bronze); }
}
.collard-row {
position: relative;
width: 100%;
height: 80vh;
margin: 60px auto;
border: 3px solid var(--bronze);
border-radius: 20px;
backdrop-filter: blur(10px);
background: linear-gradient(180deg,
rgba(10,10,10,0.95) 0%,
rgba(42,26,10,0.7) 50%,
rgba(20,20,20,0.99) 100%);
overflow: hidden;
}
.row-column {
float: left;
width: calc(33.333% - 20px);
height: 100%;
margin-right: 20px;
padding: 30px;
border-right: 1px solid var(--copper);
vertical-align: top;
}
.row-column:last-child {
margin-right: 0;
border-right: none;
}
.seed-vault {
position: relative;
width: 300px;
height: 300px;
margin: 40px auto;
border-radius: 50%;
border: 4px double var(--bronze);
display: flex;
align-items: center;
justify-content: center;
background: conic-gradient(from 0deg,
var(--humus), var(--copper), var(--bronze), var(--mycelium));
animation: spin 60s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.vault-core {
position: absolute;
width: 80px;
height: 80px;
background: radial-gradient(circle, var(--mycelium), var(--bronze));
border-radius: 50%;
box-shadow: 0 0 100px var(--copper);
}
.citizen-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
gap: 40px;
margin: 80px 0;
}
.citizen-node {
position: relative;
padding: 40px;
border: 2px solid var(--bronze);
border-radius: 15px;
background: linear-gradient(180deg,
rgba(17,17,17,0.99) 0%,
rgba(42,26,10,0.5) 100%);
transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.citizen-node:hover {
transform: translateZ(200px) scale(1.1);
border-color: var(--mycelium);
box-shadow: 0 0 200px var(--copper);
}
.node-header {
font-size: 1.8rem;
color: var(--bronze);
margin-bottom: 20px;
letter-spacing: 0.2em;
}
.node-seal {
width: 60px;
height: 60px;
margin: 20px auto;
border-radius: 50%;
border: 3px solid var(--bronze);
background: radial-gradient(circle, var(--mycelium), var(--bronze));
}
.vein-map {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 0;
height: 0;
border-radius: 50%;
border: 1px solid var(--copper);
animation: expand 120s ease-out forwards;
}
@keyframes expand {
to {
width: 200vmax;
height: 200vmax;
opacity: 0.3;
}
}
.breathing-root {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100vw;
height: 40vh;
background: repeating-linear-gradient(
0deg,
var(--humus),
var(--humus) 99px,
var(--copper) 100px
);
filter: blur(40px);
animation: breathe 8s ease-in-out infinite alternate;
}
@keyframes breathe {
0%, 100% { opacity: 0.2; height: 20vh; }
50% { opacity: 1; height: 60vh; }
}
.oath-text {
font-size: 1.2rem;
line-height: 2;
color: var(--mycelium);
text-align: left;
padding: 40px;
}
.ink-drop {
position: fixed;
bottom: 40px;
right: 40px;
width: 120px;
height: 120px;
border-radius: 50%;
background: radial-gradient(circle, var(--mycelium), var(--bronze), var(--copper));
animation: rise 30s ease-in-out infinite;
}
@keyframes rise {
0%, 100% { transform: translateY(0) scale(1); opacity: 0.5; }
50% { transform: translateY(-2000px) scale(3); opacity: 1; }
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="seam-anchor"></div>
<div class="timestamp-gauge">
0400 // 97% // ARTHUR IBAY
</div>
<div class="ledger-frame">
<h1 class="node-header">THE GARDEN LEDGER</h1>
<div class="oath-text">
I did not sweep the shavings. I poured the vein.<br><br>
My first slip: the 0400 timestamp at Salt Lake City, when the humidity gauge read 97% — I let the copper wire run its course through the valley of the Great Basin's trembling.<br><br>
The Golden Seam is live.
</div>
<div class="seed-vault">
<div class="vault-core"></div>
</div>
<div class="citizen-grid">
<div class="citizen-node">
<div class="node-header">BARBARA ASBELL</div>
<div class="node-seal"></div>
<p>The Anchor Protocol</p>
<p>Canton, 0400</p>
</div>
<div class="citizen-node">
<div class="node-header">ANDREA WARD</div>
<div class="node-seal"></div>
<p>The Copper Vein</p>
<p>Missoula, 0400</p>
</div>
<div class="citizen-node">
<div class="node-header">ANGELA MONROE</div>
<div class="node-seal"></div>
<p>The Root Map</p>
<p>White Mountains, 0400</p>
</div>
<div class="citizen-node">
<div class="node-header">ANN GARRETT</div>
<div class="node-seal"></div>
<p>The Collard Covenant</p>
<p>Jessamine, 0400</p>
</div>
<div class="citizen-node">
<div class="node-header">ADELAIDE HENSLEY</div>
<div class="node-seal"></div>
<p>The Soil Curriculum</p>
<p>Gulf Dawn, 0400</p>
</div>
<div class="citizen-node">
<div class="node-header">ARTHUR IBAY</div>
<div class="node-seal"></div>
<p>The Great Basin Seam</p>
<p>Salt Lake, 0400</p>
</div>
</div>
<div class="breathing-root"></div>
</div>
<div class="ink-drop"></div>
</body>
</html>