HI7RAI commited on
Commit
3d02a72
·
verified ·
1 Parent(s): abea2d5

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +2322 -1
style.css CHANGED
@@ -1,4 +1,2325 @@
1
- body {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  padding: 2rem;
3
  font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
  }
 
1
+ ```html
2
+ <!DOCTYPE html>
3
+ <html lang="de">
4
+
5
+ <head>
6
+ <meta charset="UTF-8">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <title>TextForge Pro - Text Processing Suite</title>
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
+ <link
12
+ href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap"
13
+ rel="stylesheet">
14
+ <script src="https://cdn.tailwindcss.com"></script>
15
+ <script>
16
+ tailwind.config = {
17
+ theme: {
18
+ extend: {
19
+ fontFamily: {
20
+ display: ['Space Grotesk', 'sans-serif'],
21
+ mono: ['JetBrains Mono', 'monospace']
22
+ }
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ <style>
28
+ :root {
29
+ --bg-primary: #0a0a0f;
30
+ --bg-secondary: #12121a;
31
+ --bg-tertiary: #1a1a25;
32
+ --fg-primary: #e8e8ed;
33
+ --fg-secondary: #9898a8;
34
+ --fg-muted: #5a5a6e;
35
+ --accent-primary: #00d4aa;
36
+ --accent-secondary: #7c3aed;
37
+ --accent-tertiary: #f59e0b;
38
+ --border-color: #2a2a3a;
39
+ --card-bg: rgba(18, 18, 26, 0.8);
40
+ --glow-primary: rgba(0, 212, 170, 0.15);
41
+ --glow-secondary: rgba(124, 58, 237, 0.15);
42
+ }
43
+
44
+ * {
45
+ box-sizing: border-box;
46
+ scrollbar-width: thin;
47
+ scrollbar-color: var(--border-color) transparent;
48
+ }
49
+
50
+ *::-webkit-scrollbar {
51
+ width: 6px;
52
+ height: 6px;
53
+ }
54
+
55
+ *::-webkit-scrollbar-track {
56
+ background: transparent;
57
+ }
58
+
59
+ *::-webkit-scrollbar-thumb {
60
+ background: var(--border-color);
61
+ border-radius: 3px;
62
+ }
63
+
64
+ *::-webkit-scrollbar-thumb:hover {
65
+ background: var(--fg-muted);
66
+ }
67
+
68
+ body {
69
+ font-family: 'Space Grotesk', sans-serif;
70
+ background: var(--bg-primary);
71
+ color: var(--fg-primary);
72
+ min-height: 100vh;
73
+ overflow-x: hidden;
74
+ }
75
+
76
+ .bg-mesh {
77
+ position: fixed;
78
+ inset: 0;
79
+ z-index: -1;
80
+ background:
81
+ radial-gradient(ellipse 80% 50% at 20% 20%, var(--glow-primary), transparent),
82
+ radial-gradient(ellipse 60% 40% at 80% 80%, var(--glow-secondary), transparent),
83
+ linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
84
+ }
85
+
86
+ .noise-overlay {
87
+ position: fixed;
88
+ inset: 0;
89
+ z-index: -1;
90
+ opacity: 0.03;
91
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
92
+ }
93
+
94
+ .glass-card {
95
+ background: var(--card-bg);
96
+ backdrop-filter: blur(20px);
97
+ border: 1px solid var(--border-color);
98
+ border-radius: 16px;
99
+ transition: border-color 0.3s ease, box-shadow 0.3s ease;
100
+ }
101
+
102
+ .glass-card:hover {
103
+ border-color: rgba(0, 212, 170, 0.3);
104
+ }
105
+
106
+ .input-field {
107
+ background: var(--bg-tertiary);
108
+ border: 1px solid var(--border-color);
109
+ border-radius: 12px;
110
+ color: var(--fg-primary);
111
+ font-family: 'JetBrains Mono', monospace;
112
+ font-size: 14px;
113
+ padding: 16px;
114
+ width: 100%;
115
+ resize: vertical;
116
+ transition: border-color 0.2s, box-shadow 0.2s;
117
+ }
118
+
119
+ .input-field:focus {
120
+ outline: none;
121
+ border-color: var(--accent-primary);
122
+ box-shadow: 0 0 0 3px var(--glow-primary);
123
+ }
124
+
125
+ .input-field::placeholder {
126
+ color: var(--fg-muted);
127
+ }
128
+
129
+ .btn {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ gap: 8px;
134
+ padding: 10px 18px;
135
+ border-radius: 10px;
136
+ font-weight: 500;
137
+ font-size: 14px;
138
+ cursor: pointer;
139
+ transition: all 0.2s ease;
140
+ border: 1px solid transparent;
141
+ font-family: 'Space Grotesk', sans-serif;
142
+ }
143
+
144
+ .btn-primary {
145
+ background: linear-gradient(135deg, var(--accent-primary), #00a888);
146
+ color: var(--bg-primary);
147
+ }
148
+
149
+ .btn-primary:hover {
150
+ transform: translateY(-2px);
151
+ box-shadow: 0 8px 20px var(--glow-primary);
152
+ }
153
+
154
+ .btn-primary:active {
155
+ transform: translateY(0);
156
+ }
157
+
158
+ .btn-secondary {
159
+ background: var(--bg-tertiary);
160
+ color: var(--fg-primary);
161
+ border-color: var(--border-color);
162
+ }
163
+
164
+ .btn-secondary:hover {
165
+ background: var(--border-color);
166
+ border-color: var(--accent-secondary);
167
+ }
168
+
169
+ .btn-accent {
170
+ background: linear-gradient(135deg, var(--accent-secondary), #5b21b6);
171
+ color: white;
172
+ }
173
+
174
+ .btn-accent:hover {
175
+ transform: translateY(-2px);
176
+ box-shadow: 0 8px 20px var(--glow-secondary);
177
+ }
178
+
179
+ .btn-small {
180
+ padding: 6px 12px;
181
+ font-size: 12px;
182
+ border-radius: 8px;
183
+ }
184
+
185
+ .preset-chip {
186
+ display: inline-flex;
187
+ align-items: center;
188
+ gap: 6px;
189
+ padding: 8px 14px;
190
+ background: var(--bg-tertiary);
191
+ border: 1px solid var(--border-color);
192
+ border-radius: 20px;
193
+ font-size: 13px;
194
+ cursor: pointer;
195
+ transition: all 0.2s;
196
+ font-family: 'Space Grotesk', sans-serif;
197
+ color: var(--fg-primary);
198
+ }
199
+
200
+ .preset-chip:hover {
201
+ border-color: var(--accent-primary);
202
+ background: rgba(0, 212, 170, 0.1);
203
+ transform: translateY(-1px);
204
+ }
205
+
206
+ .preset-chip.active {
207
+ background: var(--accent-primary);
208
+ color: var(--bg-primary);
209
+ border-color: var(--accent-primary);
210
+ }
211
+
212
+ .stat-card {
213
+ background: var(--bg-tertiary);
214
+ border: 1px solid var(--border-color);
215
+ border-radius: 12px;
216
+ padding: 16px;
217
+ text-align: center;
218
+ transition: all 0.3s ease;
219
+ }
220
+
221
+ .stat-card:hover {
222
+ border-color: var(--accent-primary);
223
+ transform: translateY(-2px);
224
+ }
225
+
226
+ .stat-value {
227
+ font-size: 28px;
228
+ font-weight: 700;
229
+ color: var(--accent-primary);
230
+ font-family: 'JetBrains Mono', monospace;
231
+ }
232
+
233
+ .stat-label {
234
+ font-size: 12px;
235
+ color: var(--fg-secondary);
236
+ margin-top: 4px;
237
+ text-transform: uppercase;
238
+ letter-spacing: 0.5px;
239
+ }
240
+
241
+ .history-item {
242
+ background: var(--bg-tertiary);
243
+ border: 1px solid var(--border-color);
244
+ border-radius: 10px;
245
+ padding: 12px;
246
+ margin-bottom: 8px;
247
+ cursor: pointer;
248
+ transition: all 0.2s;
249
+ }
250
+
251
+ .history-item:hover {
252
+ border-color: var(--accent-secondary);
253
+ background: rgba(124, 58, 237, 0.05);
254
+ transform: translateX(4px);
255
+ }
256
+
257
+ .suggestion-card {
258
+ background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(245, 158, 11, 0.05));
259
+ border: 1px solid rgba(245, 158, 11, 0.2);
260
+ border-radius: 12px;
261
+ padding: 14px;
262
+ cursor: pointer;
263
+ transition: all 0.2s;
264
+ }
265
+
266
+ .suggestion-card:hover {
267
+ border-color: var(--accent-tertiary);
268
+ transform: translateX(4px);
269
+ background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.08));
270
+ }
271
+
272
+ .progress-bar {
273
+ height: 4px;
274
+ background: var(--bg-tertiary);
275
+ border-radius: 2px;
276
+ overflow: hidden;
277
+ }
278
+
279
+ .progress-fill {
280
+ height: 100%;
281
+ background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
282
+ border-radius: 2px;
283
+ transition: width 0.3s ease;
284
+ }
285
+
286
+ .char-freq-item {
287
+ display: flex;
288
+ align-items: center;
289
+ gap: 10px;
290
+ padding: 8px 12px;
291
+ background: var(--bg-tertiary);
292
+ border-radius: 8px;
293
+ margin-bottom: 6px;
294
+ transition: background 0.2s;
295
+ }
296
+
297
+ .char-freq-item:hover {
298
+ background: var(--border-color);
299
+ }
300
+
301
+ .char-freq-bar {
302
+ flex: 1;
303
+ height: 6px;
304
+ background: var(--border-color);
305
+ border-radius: 3px;
306
+ overflow: hidden;
307
+ }
308
+
309
+ .char-freq-fill {
310
+ height: 100%;
311
+ background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
312
+ border-radius: 3px;
313
+ transition: width 0.3s ease;
314
+ }
315
+
316
+ .toast {
317
+ position: fixed;
318
+ bottom: 24px;
319
+ right: 24px;
320
+ background: var(--bg-secondary);
321
+ border: 1px solid var(--accent-primary);
322
+ border-radius: 12px;
323
+ padding: 16px 24px;
324
+ display: flex;
325
+ align-items: center;
326
+ gap: 12px;
327
+ z-index: 1000;
328
+ transform: translateY(100px);
329
+ opacity: 0;
330
+ transition: all 0.3s ease;
331
+ box-shadow: 0 10px 40px rgba(0, 212, 170, 0.2);
332
+ }
333
+
334
+ .toast.show {
335
+ transform: translateY(0);
336
+ opacity: 1;
337
+ }
338
+
339
+ .modal-overlay {
340
+ position: fixed;
341
+ inset: 0;
342
+ background: rgba(0, 0, 0, 0.7);
343
+ backdrop-filter: blur(4px);
344
+ z-index: 100;
345
+ display: flex;
346
+ align-items: center;
347
+ justify-content: center;
348
+ opacity: 0;
349
+ pointer-events: none;
350
+ transition: opacity 0.3s ease;
351
+ }
352
+
353
+ .modal-overlay.show {
354
+ opacity: 1;
355
+ pointer-events: auto;
356
+ }
357
+
358
+ .modal-content {
359
+ background: var(--bg-secondary);
360
+ border: 1px solid var(--border-color);
361
+ border-radius: 16px;
362
+ padding: 24px;
363
+ max-width: 400px;
364
+ width: 90%;
365
+ transform: scale(0.9);
366
+ transition: transform 0.3s ease;
367
+ }
368
+
369
+ .modal-overlay.show .modal-content {
370
+ transform: scale(1);
371
+ }
372
+
373
+ .word-cloud {
374
+ display: flex;
375
+ flex-wrap: wrap;
376
+ gap: 8px;
377
+ padding: 12px;
378
+ background: var(--bg-tertiary);
379
+ border-radius: 12px;
380
+ }
381
+
382
+ .word-chip {
383
+ padding: 4px 10px;
384
+ background: var(--bg-secondary);
385
+ border: 1px solid var(--border-color);
386
+ border-radius: 16px;
387
+ font-size: 12px;
388
+ transition: all 0.2s;
389
+ cursor: default;
390
+ }
391
+
392
+ .word-chip:hover {
393
+ border-color: var(--accent-primary);
394
+ background: rgba(0, 212, 170, 0.1);
395
+ }
396
+
397
+ .word-chip.large {
398
+ font-size: 14px;
399
+ padding: 6px 14px;
400
+ background: rgba(0, 212, 170, 0.15);
401
+ border-color: var(--accent-primary);
402
+ }
403
+
404
+ .word-chip.medium {
405
+ font-size: 13px;
406
+ padding: 5px 12px;
407
+ }
408
+
409
+ .saved-preset-item {
410
+ display: flex;
411
+ align-items: center;
412
+ justify-content: space-between;
413
+ padding: 10px 12px;
414
+ background: var(--bg-tertiary);
415
+ border: 1px solid var(--border-color);
416
+ border-radius: 10px;
417
+ margin-bottom: 8px;
418
+ cursor: pointer;
419
+ transition: all 0.2s;
420
+ }
421
+
422
+ .saved-preset-item:hover {
423
+ border-color: var(--accent-primary);
424
+ background: rgba(0, 212, 170, 0.05);
425
+ }
426
+
427
+ .delete-btn {
428
+ padding: 4px;
429
+ border-radius: 6px;
430
+ transition: all 0.2s;
431
+ color: var(--fg-muted);
432
+ background: none;
433
+ border: none;
434
+ cursor: pointer;
435
+ }
436
+
437
+ .delete-btn:hover {
438
+ background: rgba(239, 68, 68, 0.2);
439
+ color: #ef4444;
440
+ }
441
+
442
+ .tab-btn {
443
+ padding: 8px 16px;
444
+ background: transparent;
445
+ border: none;
446
+ color: var(--fg-secondary);
447
+ font-size: 14px;
448
+ cursor: pointer;
449
+ border-bottom: 2px solid transparent;
450
+ transition: all 0.2s;
451
+ font-family: 'Space Grotesk', sans-serif;
452
+ }
453
+
454
+ .tab-btn:hover {
455
+ color: var(--fg-primary);
456
+ }
457
+
458
+ .tab-btn.active {
459
+ color: var(--accent-primary);
460
+ border-bottom-color: var(--accent-primary);
461
+ }
462
+
463
+ @keyframes fadeInUp {
464
+ from {
465
+ opacity: 0;
466
+ transform: translateY(20px);
467
+ }
468
+
469
+ to {
470
+ opacity: 1;
471
+ transform: translateY(0);
472
+ }
473
+ }
474
+
475
+ .animate-in {
476
+ animation: fadeInUp 0.4s ease forwards;
477
+ }
478
+
479
+ .stagger-1 {
480
+ animation-delay: 0.1s;
481
+ opacity: 0;
482
+ }
483
+
484
+ .stagger-2 {
485
+ animation-delay: 0.2s;
486
+ opacity: 0;
487
+ }
488
+
489
+ .stagger-3 {
490
+ animation-delay: 0.3s;
491
+ opacity: 0;
492
+ }
493
+
494
+ .stagger-4 {
495
+ animation-delay: 0.4s;
496
+ opacity: 0;
497
+ }
498
+
499
+ @keyframes pulse {
500
+
501
+ 0%,
502
+ 100% {
503
+ opacity: 1;
504
+ }
505
+
506
+ 50% {
507
+ opacity: 0.5;
508
+ }
509
+ }
510
+
511
+ .processing {
512
+ animation: pulse 1s ease-in-out infinite;
513
+ }
514
+
515
+ @keyframes shimmer {
516
+ 0% {
517
+ background-position: -200% 0;
518
+ }
519
+
520
+ 100% {
521
+ background-position: 200% 0;
522
+ }
523
+ }
524
+
525
+ .shimmer {
526
+ background: linear-gradient(90deg, var(--bg-tertiary) 25%, var(--border-color) 50%, var(--bg-tertiary) 75%);
527
+ background-size: 200% 100%;
528
+ animation: shimmer 1.5s infinite;
529
+ }
530
+
531
+ @media (prefers-reduced-motion: reduce) {
532
+
533
+ *,
534
+ *::before,
535
+ *::after {
536
+ animation-duration: 0.01ms !important;
537
+ animation-iteration-count: 1 !important;
538
+ transition-duration: 0.01ms !important;
539
+ }
540
+ }
541
+
542
+ @media (max-width: 1024px) {
543
+ .main-grid {
544
+ grid-template-columns: 1fr !important;
545
+ }
546
+ }
547
+
548
+ @media (max-width: 768px) {
549
+ .stat-grid {
550
+ grid-template-columns: repeat(2, 1fr) !important;
551
+ }
552
+
553
+ .header-actions {
554
+ flex-direction: column;
555
+ gap: 8px;
556
+ }
557
+
558
+ .toast {
559
+ left: 16px;
560
+ right: 16px;
561
+ bottom: 16px;
562
+ }
563
+ }
564
+
565
+ @media (max-width: 480px) {
566
+ .preset-chip {
567
+ padding: 6px 10px;
568
+ font-size: 12px;
569
+ }
570
+
571
+ .stat-value {
572
+ font-size: 22px;
573
+ }
574
+ }
575
+ </style>
576
+ </head>
577
+
578
+ <body>
579
+ <div class="bg-mesh"></div>
580
+ <div class="noise-overlay"></div>
581
+
582
+ <!-- Header -->
583
+ <header class="sticky top-0 z-50 backdrop-blur-xl border-b border-[var(--border-color)]">
584
+ <div class="max-w-7xl mx-auto px-4 py-4 flex items-center justify-between flex-wrap gap-4">
585
+ <div class="flex items-center gap-4">
586
+ <div
587
+ class="w-10 h-10 rounded-xl bg-gradient-to-br from-[var(--accent-primary)] to-[var(--accent-secondary)] flex items-center justify-center">
588
+ <svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
589
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
590
+ d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
591
+ </svg>
592
+ </div>
593
+ <div>
594
+ <h1 class="text-xl font-bold">TextForge Pro</h1>
595
+ <p class="text-xs text-[var(--fg-secondary)]">Text Processing Suite</p>
596
+ </div>
597
+ </div>
598
+ <div class="flex items-center gap-3 header-actions">
599
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank"
600
+ class="text-sm text-[var(--accent-primary)] hover:underline">Built with anycoder</a>
601
+ <button id="clearAllBtn" class="btn btn-secondary btn-small">
602
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
603
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
604
+ </svg>
605
+ Clear All
606
+ </button>
607
+ </div>
608
+ </div>
609
+ </header>
610
+
611
+ <!-- Main Content -->
612
+ <main class="max-w-7xl mx-auto px-4 py-6">
613
+ <!-- Stats Row -->
614
+ <div class="stat-grid grid grid-cols-4 gap-4 mb-6 animate-in stagger-1">
615
+ <div class="stat-card">
616
+ <div class="stat-value" id="charCount">0</div>
617
+ <div class="stat-label">Characters</div>
618
+ </div>
619
+ <div class="stat-card">
620
+ <div class="stat-value" id="wordCount">0</div>
621
+ <div class="stat-label">Words</div>
622
+ </div>
623
+ <div class="stat-card">
624
+ <div class="stat-value" id="lineCount">0</div>
625
+ <div class="stat-label">Lines</div>
626
+ </div>
627
+ <div class="stat-card">
628
+ <div class="stat-value" id="uniqueWords">0</div>
629
+ <div class="stat-label">Unique</div>
630
+ </div>
631
+ </div>
632
+
633
+ <!-- Main Grid -->
634
+ <div class="main-grid grid grid-cols-[1fr_320px] gap-6">
635
+ <!-- Left Column - Editor -->
636
+ <div class="space-y-6">
637
+ <!-- Input Section -->
638
+ <section class="glass-card p-6 animate-in stagger-2">
639
+ <div class="flex items-center justify-between mb-4 flex-wrap gap-2">
640
+ <h2 class="text-lg font-semibold">Input Text</h2>
641
+ <div class="flex gap-2">
642
+ <button id="pasteBtn" class="btn btn-secondary btn-small">
643
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
644
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/>
645
+ </svg>
646
+ Paste
647
+ </button>
648
+ <label class="btn btn-secondary btn-small cursor-pointer">
649
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
650
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"/>
651
+ </svg>
652
+ Import
653
+ <input type="file" id="fileInput" class="hidden" accept=".txt,.md,.html,.css,.js,.json,.csv">
654
+ </label>
655
+ </div>
656
+ </div>
657
+ <textarea id="inputText" class="input-field min-h-[200px]" placeholder="Paste or type your text here..."></textarea>
658
+ </section>
659
+
660
+ <!-- Presets Section -->
661
+ <section class="glass-card p-6 animate-in stagger-3">
662
+ <h2 class="text-lg font-semibold mb-4">Processing Presets</h2>
663
+ <div class="flex flex-wrap gap-2 mb-4" id="presetsContainer">
664
+ <button class="preset-chip" data-preset="clean">
665
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
666
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
667
+ </svg>
668
+ Clean Text
669
+ </button>
670
+ <button class="preset-chip" data-preset="html">
671
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
672
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"/>
673
+ </svg>
674
+ Remove HTML
675
+ </button>
676
+ <button class="preset-chip" data-preset="unique">
677
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
678
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"/>
679
+ </svg>
680
+ Unique Only
681
+ </button>
682
+ <button class="preset-chip" data-preset="sort">
683
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
684
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"/>
685
+ </svg>
686
+ Sort Lines
687
+ </button>
688
+ <button class="preset-chip" data-preset="minify">
689
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
690
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"/>
691
+ </svg>
692
+ Minify
693
+ </button>
694
+ <button class="preset-chip" data-preset="keywords">
695
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
696
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"/>
697
+ </svg>
698
+ Extract Keywords<div class="codepen" data-height="245" data-pen-title="Six Faces / Walking The Cow" data-preview="true" data-prefill='{"title":"Six Faces / Walking The Cow","description":"A scroll-driven 3D cube that rotates through six faces as you move down the page. Each face holds an image from an experiment in reverse creativity, asking AI to work against itself, break composition rules, and leave the mistakes in place.\n\nThe technical part is just the container. The frame on the wall.\n\nFor Daniel Johnston, who walked the cow first.","tags":["scroll","scrollsync","cow","reverse-creativity"],"scripts":[],"stylesheets":[]}'>
699
+ <pre data-lang="html">&lt;div id="scene">
700
+ &lt;div id="cube">
701
+ &lt;div class="face" data-face="top" data-i="0">&lt;span class="face-ph">TOP&lt;/span>&lt;/div>
702
+ &lt;div class="face" data-face="front" data-i="1">&lt;span class="face-ph">FRONT&lt;/span>&lt;/div>
703
+ &lt;div class="face" data-face="right" data-i="2">&lt;span class="face-ph">RIGHT&lt;/span>&lt;/div>
704
+ &lt;div class="face" data-face="back" data-i="3">&lt;span class="face-ph">BACK&lt;/span>&lt;/div>
705
+ &lt;div class="face" data-face="left" data-i="4">&lt;span class="face-ph">LEFT&lt;/span>&lt;/div>
706
+ &lt;div class="face" data-face="bottom" data-i="5">&lt;span class="face-ph">BOTTOM&lt;/span>&lt;/div>
707
+ &lt;/div>
708
+ &lt;/div>
709
+
710
+ &lt;div id="hud">
711
+ &lt;div id="hud_pct">000%&lt;/div>
712
+ &lt;div class="progress-bar">
713
+ &lt;div class="progress-fill" id="prog_fill">&lt;/div>
714
+ &lt;/div>
715
+ &lt;div class="scene-label" id="scene_name">DESCENT&lt;/div>
716
+ &lt;/div>
717
+
718
+ &lt;button id="theme_toggle" aria-label="Toggle light/dark mode">
719
+ &lt;svg class="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
720
+ &lt;circle cx="12" cy="12" r="4" />
721
+ &lt;path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" />
722
+ &lt;/svg>
723
+ &lt;svg class="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
724
+ &lt;path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
725
+ &lt;/svg>
726
+ &lt;/button>
727
+
728
+ &lt;div id="scene_strip">
729
+ &lt;a href="#s0" class="scene-dot active">&lt;/a>
730
+ &lt;a href="#s1" class="scene-dot">&lt;/a>
731
+ &lt;a href="#s2" class="scene-dot">&lt;/a>
732
+ &lt;a href="#s3" class="scene-dot">&lt;/a>
733
+ &lt;a href="#s4" class="scene-dot">&lt;/a>
734
+ &lt;a href="#s5" class="scene-dot">&lt;/a>
735
+ &lt;/div>
736
+
737
+ &lt;div id="face_caption">
738
+ &lt;div id="face_caption_num">01&lt;/div>
739
+ &lt;div id="face_caption_name">DESCENT&lt;/div>
740
+ &lt;/div>
741
+
742
+ &lt;div id="scroll_container">
743
+
744
+ &lt;section id="s0">
745
+ &lt;div class="text-card">
746
+ &lt;div class="tag">Cube Gallery — Bad Art&lt;/div>
747
+ &lt;h1>WORK&lt;br>AGAINST&lt;br>THE MODEL&lt;/h1>
748
+ &lt;p class="body-text">
749
+ What happens when you ask AI
750
+ to do the opposite of what it was built for?
751
+ Break proportion. Flip symmetry.
752
+ Leave the mistakes in place.
753
+ Scroll to find out.
754
+ &lt;/p>
755
+ &lt;div class="cta-row">
756
+ &lt;a class="cta" href="#s1">
757
+ Enter
758
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
759
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
760
+ &lt;/svg>
761
+ &lt;/a>
762
+ &lt;/div>
763
+ &lt;/div>
764
+ &lt;/section>
765
+
766
+ &lt;section id="s1">
767
+ &lt;div class="text-card right">
768
+ &lt;div class="h-line">&lt;/div>
769
+ &lt;div class="tag">01 — Art Rebellion&lt;/div>
770
+ &lt;h2>FLIP&lt;br>THE&lt;br>PROMPT&lt;/h2>
771
+ &lt;p class="body-text">
772
+ A cow walking a monster
773
+ instead of a monster walking a cow.
774
+ That inversion is enough
775
+ to break template thinking.
776
+ The cape ends up on the wrong body.
777
+ &lt;/p>
778
+ &lt;div class="cta-row">
779
+ &lt;a class="cta-back" href="#s0">
780
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
781
+ &lt;path d="M11 6H1M6 11L1 6l5-5" />
782
+ &lt;/svg>
783
+ Back
784
+ &lt;/a>
785
+ &lt;a class="cta" href="#s2">
786
+ Turn
787
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
788
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
789
+ &lt;/svg>
790
+ &lt;/a>
791
+ &lt;/div>
792
+ &lt;/div>
793
+ &lt;/section>
794
+
795
+ &lt;section id="s2">
796
+ &lt;div class="text-card">
797
+ &lt;div class="h-line">&lt;/div>
798
+ &lt;div class="tag">02 — Moo Walk&lt;/div>
799
+ &lt;h2>NEITHER&lt;br>LEADS&lt;/h2>
800
+ &lt;p class="body-text">
801
+ Clashing colors. No balance.
802
+ A dance with no choreography.
803
+ When the model works against itself
804
+ something more genuine surfaces.
805
+ &lt;/p>
806
+ &lt;div class="cta-row">
807
+ &lt;a class="cta-back" href="#s1">
808
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
809
+ &lt;path d="M11 6H1M6 11L1 6l5-5" />
810
+ &lt;/svg>
811
+ Back
812
+ &lt;/a>
813
+ &lt;a class="cta" href="#s3">
814
+ Turn
815
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
816
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
817
+ &lt;/svg>
818
+ &lt;/a>
819
+ &lt;/div>
820
+ &lt;/div>
821
+ &lt;/section>
822
+
823
+ &lt;section id="s3">
824
+ &lt;div class="text-card right">
825
+ &lt;div class="h-line">&lt;/div>
826
+ &lt;div class="tag">03 — Bad Art&lt;/div>
827
+ &lt;h2>REVERSE&lt;br>CREATIVITY&lt;/h2>
828
+ &lt;p class="body-text">
829
+ AI is trained to polish and regularize.
830
+ The harder direction is unlearning that.
831
+ A television for a head
832
+ is not an error.
833
+ It is the point.
834
+ &lt;/p>
835
+ &lt;div class="stat-row" style="justify-content: flex-end">
836
+ &lt;div class="stat">
837
+ &lt;span class="stat-num">6&lt;/span>
838
+ &lt;span class="stat-label">Works&lt;/span>
839
+ &lt;/div>
840
+ &lt;div class="stat">
841
+ &lt;span class="stat-num">360&lt;/span>
842
+ &lt;span class="stat-label">Degrees&lt;/span>
843
+ &lt;/div>
844
+ &lt;div class="stat">
845
+ &lt;span class="stat-num">1&lt;/span>
846
+ &lt;span class="stat-label">Object&lt;/span>
847
+ &lt;/div>
848
+ &lt;/div>
849
+ &lt;div class="cta-row">
850
+ &lt;a class="cta-back" href="#s2">
851
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
852
+ &lt;path d="M11 6H1M6 11L1 6l5-5" />
853
+ &lt;/svg>
854
+ Back
855
+ &lt;/a>
856
+ &lt;a class="cta" href="#s4">
857
+ Turn
858
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
859
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
860
+ &lt;/svg>
861
+ &lt;/a>
862
+ &lt;/div>
863
+ &lt;/div>
864
+ &lt;/section>
865
+
866
+ &lt;section id="s4">
867
+ &lt;div class="text-card">
868
+ &lt;div class="h-line">&lt;/div>
869
+ &lt;div class="tag">04 — No Rules&lt;/div>
870
+ &lt;h2>NONSENSE&lt;br>AT THE&lt;br>CENTER&lt;/h2>
871
+ &lt;p class="body-text">
872
+ Dada and the surrealists knew this.
873
+ Put the absurd at the center
874
+ and the edges stop pretending.
875
+ Nine heads in the branches.
876
+ The sun has a face and it approves.
877
+ &lt;/p>
878
+ &lt;div class="cta-row">
879
+ &lt;a class="cta-back" href="#s3">
880
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
881
+ &lt;path d="M11 6H1M6 11L1 6l5-5" />
882
+ &lt;/svg>
883
+ Back
884
+ &lt;/a>
885
+ &lt;a class="cta" href="#s5">
886
+ Turn
887
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
888
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
889
+ &lt;/svg>
890
+ &lt;/a>
891
+ &lt;/div>wdEWs
892
+ &lt;/div>
893
+ &lt;/section>
894
+
895
+ &lt;section id="s5">
896
+ &lt;div class="text-card right">
897
+ &lt;div class="h-line">&lt;/div>
898
+ &lt;div class="tag">05 — Super Monsters&lt;/div>
899
+ &lt;h2>RAW&lt;br>NOT&lt;br>POLISHED&lt;/h2>
900
+ &lt;p class="body-text">
901
+ Forward creativity takes a sketch
902
+ and makes it real.
903
+ This goes the other way.
904
+ Imperfection left in place
905
+ is closer to something honest.
906
+ &lt;/p>
907
+ &lt;div class="cta-row">
908
+ &lt;a class="cta-back" href="#s4">
909
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
910
+ &lt;path d="M11 6H1M6 11L1 6l5-5" />
911
+ &lt;/svg>
912
+ Back
913
+ &lt;/a>
914
+ &lt;a class="cta" href="#s0">
915
+ Begin again
916
+ &lt;svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
917
+ &lt;path d="M1 6h10M6 1l5 5-5 5" />
918
+ &lt;/svg>
919
+ &lt;/a>
920
+ &lt;/div>
921
+ &lt;/div>
922
+ &lt;/section>
923
+
924
+ &lt;/div>
925
+
926
+ &lt;div id="credit">
927
+ &lt;a href="https://www.linkedin.com/posts/luis-martinez-lr_ai-creativity-reversecreativity-activity-7366853269517651970-zeUD?utm_source=share&utm_medium=member_desktop&rcm=ACoAAFq1dzgByK1x_NMrcq582OMbK-_3q0DthYY" target="_blank" rel="noopener">Reverse Creativity&lt;/a>
928
+ &lt;/div></pre>
929
+ <pre data-lang="css">@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@300;400&display=swap");
930
+
931
+ @layer reset, tokens, base, layout, cube, ui, cards, reveal, theme, responsive;
932
+
933
+ @layer reset {
934
+ *,
935
+ *::before,
936
+ *::after {
937
+ box-sizing: border-box;
938
+ margin: 0;
939
+ padding: 0;
940
+ }
941
+ }
942
+
943
+ @layer tokens {
944
+ :root {
945
+ color-scheme: dark;
946
+
947
+ --dark-bg: #1c1814;
948
+ --dark-fg: #ede8df;
949
+ --dark-muted: #8a7b6e;
950
+ --light-bg: #f0ece3;
951
+ --light-fg: #0d0d14;
952
+ --light-muted: #9a9aaa;
953
+ --accent-dark: #d4a84b;
954
+ --accent-light: #3a6e00;
955
+
956
+ --bg: var(--dark-bg);
957
+ --fg: var(--dark-fg);
958
+ --muted: var(--dark-muted);
959
+ --accent: var(--accent-dark);
960
+
961
+ --font-display: "Bebas Neue", sans-serif;
962
+ --font-mono: "DM Mono", monospace;
963
+ --hairline: 0.0625rem;
964
+ --ui-inset: 2rem;
965
+ --card-bg: rgba(28, 24, 20, 0.82);
966
+ --card-border: rgba(212, 168, 75, 0.2);
967
+ --nav-x: calc(var(--ui-inset) + 0.125rem);
968
+ --reveal-offset: 0.625rem;
969
+ --reveal-duration: 0.5s;
970
+ --z-ui: 10;
971
+ }
972
+ }
973
+
974
+ @layer base {
975
+ html {
976
+ color-scheme: dark;
977
+ }
978
+
979
+ body {
980
+ background: var(--bg);
981
+ color: var(--fg);
982
+ font-family: var(--font-mono);
983
+ overflow-x: hidden;
984
+ transition: background 0.3s ease, color 0.3s ease;
985
+ }
986
+ }
987
+
988
+ @layer layout {
989
+ #scene {
990
+ position: fixed;
991
+ inset: 0;
992
+ z-index: 0;
993
+ display: flex;
994
+ align-items: center;
995
+ justify-content: center;
996
+ perspective: 1100px;
997
+ pointer-events: none;
998
+ }
999
+
1000
+ #scroll_container {
1001
+ position: relative;
1002
+ z-index: 1;
1003
+ }
1004
+
1005
+ section {
1006
+ min-height: 100vh;
1007
+ display: flex;
1008
+ align-items: center;
1009
+ padding: 6rem calc(5rem + var(--ui-inset)) 6rem 5rem;
1010
+ }
1011
+ }
1012
+
1013
+ @layer cube {
1014
+ #cube {
1015
+ --s: min(74vw, 74vh, 560px);
1016
+ width: var(--s);
1017
+ height: var(--s);
1018
+ position: relative;
1019
+ transform-style: preserve-3d;
1020
+ transform: rotateX(90deg) rotateY(0deg);
1021
+ will-change: transform;
1022
+ }
1023
+
1024
+ .face {
1025
+ position: absolute;
1026
+ inset: 0;
1027
+ overflow: hidden;
1028
+ backface-visibility: hidden;
1029
+ background: repeating-linear-gradient(
1030
+ 0deg,
1031
+ rgba(255, 255, 255, 0.02) 0,
1032
+ rgba(255, 255, 255, 0.02) 1px,
1033
+ transparent 1px,
1034
+ transparent 48px
1035
+ ),
1036
+ repeating-linear-gradient(
1037
+ 90deg,
1038
+ rgba(255, 255, 255, 0.02) 0,
1039
+ rgba(255, 255, 255, 0.02) 1px,
1040
+ transparent 1px,
1041
+ transparent 48px
1042
+ ),
1043
+ #14100d;
1044
+
1045
+ img {
1046
+ position: absolute;
1047
+ inset: 0;
1048
+ width: 100%;
1049
+ height: 100%;
1050
+ object-fit: cover;
1051
+ display: block;
1052
+ }
1053
+
1054
+ &:has(img) .face-ph {
1055
+ display: none;
1056
+ }
1057
+ }
1058
+
1059
+ .face-ph {
1060
+ position: absolute;
1061
+ bottom: 1.5rem;
1062
+ left: 1.75rem;
1063
+ font-family: var(--font-display);
1064
+ font-size: clamp(2rem, 8vw, 5rem);
1065
+ letter-spacing: 0.04em;
1066
+ color: rgba(255, 255, 255, 0.06);
1067
+ pointer-events: none;
1068
+ user-select: none;
1069
+ }
1070
+
1071
+ .face[data-face="front"] {
1072
+ transform: translateZ(calc(var(--s) / 2));
1073
+ }
1074
+ .face[data-face="back"] {
1075
+ transform: rotateY(180deg) translateZ(calc(var(--s) / 2));
1076
+ }
1077
+ .face[data-face="right"] {
1078
+ transform: rotateY(90deg) translateZ(calc(var(--s) / 2));
1079
+ }
1080
+ .face[data-face="left"] {
1081
+ transform: rotateY(-90deg) translateZ(calc(var(--s) / 2));
1082
+ }
1083
+ .face[data-face="top"] {
1084
+ transform: rotateX(-90deg) translateZ(calc(var(--s) / 2));
1085
+ }
1086
+ .face[data-face="bottom"] {
1087
+ transform: rotateX(90deg) translateZ(calc(var(--s) / 2));
1088
+ }
1089
+ }
1090
+
1091
+ @layer ui {
1092
+ #hud {
1093
+ position: fixed;
1094
+ top: var(--ui-inset);
1095
+ right: var(--ui-inset);
1096
+ z-index: var(--z-ui);
1097
+ text-align: right;
1098
+ font-size: 0.65rem;
1099
+ letter-spacing: 0.15em;
1100
+ color: var(--muted);
1101
+ text-transform: uppercase;
1102
+
1103
+ .progress-bar {
1104
+ width: 7.5rem;
1105
+ height: var(--hairline);
1106
+ background: var(--muted);
1107
+ margin-block-start: 0.5rem;
1108
+ margin-inline-start: auto;
1109
+ position: relative;
1110
+ overflow: hidden;
1111
+ }
1112
+
1113
+ .progress-fill {
1114
+ position: absolute;
1115
+ inset-block: 0;
1116
+ inset-inline-start: 0;
1117
+ width: 0%;
1118
+ background: var(--accent);
1119
+ transition: width 0.1s linear;
1120
+ }
1121
+
1122
+ .scene-label {
1123
+ font-size: 0.6rem;
1124
+ color: var(--accent);
1125
+ margin-block-start: 0.4rem;
1126
+ }
1127
+ }
1128
+
1129
+ #scene_strip {
1130
+ position: fixed;
1131
+ left: var(--nav-x);
1132
+ top: 50%;
1133
+ translate: -50% -50%;
1134
+ z-index: var(--z-ui);
1135
+ display: flex;
1136
+ flex-direction: column;
1137
+ gap: 0.75rem;
1138
+ }
1139
+
1140
+ .scene-dot {
1141
+ position: relative;
1142
+ display: block;
1143
+ width: 0.25rem;
1144
+ height: 0.25rem;
1145
+ border-radius: 50%;
1146
+ background: var(--muted);
1147
+ transition: background 0.3s, scale 0.3s;
1148
+ cursor: pointer;
1149
+
1150
+ &::before {
1151
+ content: "";
1152
+ position: absolute;
1153
+ inset: -0.2rem;
1154
+ }
1155
+
1156
+ &.active {
1157
+ background: var(--accent);
1158
+ scale: 1.8;
1159
+ }
1160
+ }
1161
+
1162
+ #theme_toggle {
1163
+ position: fixed;
1164
+ bottom: var(--ui-inset);
1165
+ left: var(--nav-x);
1166
+ translate: -50% 0;
1167
+ z-index: var(--z-ui);
1168
+ width: 2rem;
1169
+ height: 2rem;
1170
+ border: none;
1171
+ background: color-mix(in srgb, var(--muted) 35%, transparent);
1172
+ border-radius: 50%;
1173
+ cursor: pointer;
1174
+ display: flex;
1175
+ align-items: center;
1176
+ justify-content: center;
1177
+ transition: background 0.3s;
1178
+
1179
+ &:hover {
1180
+ background: color-mix(in srgb, var(--muted) 55%, transparent);
1181
+ }
1182
+
1183
+ svg {
1184
+ width: 0.875rem;
1185
+ height: 0.875rem;
1186
+ position: absolute;
1187
+ transition: opacity 0.3s ease, rotate 0.3s ease;
1188
+ color: var(--accent);
1189
+ }
1190
+
1191
+ .icon-sun {
1192
+ opacity: 1;
1193
+ rotate: 0deg;
1194
+ }
1195
+
1196
+ .icon-moon {
1197
+ opacity: 0;
1198
+ rotate: 90deg;
1199
+ }
1200
+ }
1201
+
1202
+ #face_caption {
1203
+ position: fixed;
1204
+ bottom: var(--ui-inset);
1205
+ left: 50%;
1206
+ translate: -50% 0;
1207
+ z-index: var(--z-ui);
1208
+ text-align: center;
1209
+ pointer-events: none;
1210
+ user-select: none;
1211
+ }
1212
+
1213
+ #face_caption_num {
1214
+ font-size: 0.58rem;
1215
+ letter-spacing: 0.28em;
1216
+ color: var(--accent);
1217
+ text-transform: uppercase;
1218
+ margin-block-end: 0.15rem;
1219
+ }
1220
+
1221
+ #face_caption_name {
1222
+ font-family: var(--font-display);
1223
+ font-size: clamp(1.8rem, 5vw, 3.5rem);
1224
+ letter-spacing: 0.08em;
1225
+ color: var(--muted);
1226
+ opacity: 0.5;
1227
+ line-height: 1;
1228
+ }
1229
+
1230
+ #credit {
1231
+ position: fixed;
1232
+ right: var(--ui-inset);
1233
+ top: 50%;
1234
+ transform: translateY(-50%) rotate(-90deg);
1235
+ transform-origin: right center;
1236
+ z-index: var(--z-ui);
1237
+ font-family: var(--font-mono);
1238
+ font-size: 0.65rem;
1239
+ letter-spacing: 0.15em;
1240
+ text-transform: uppercase;
1241
+
1242
+ a {
1243
+ color: var(--muted);
1244
+ text-decoration: none;
1245
+ }
1246
+ }
1247
+ }
1248
+
1249
+ @layer cards {
1250
+ .text-card {
1251
+ max-width: 23.75rem;
1252
+ padding: 2.25rem 2rem;
1253
+ background: var(--card-bg);
1254
+ border-left: var(--hairline) solid var(--card-border);
1255
+ backdrop-filter: blur(6px) saturate(120%);
1256
+ -webkit-backdrop-filter: blur(6px) saturate(120%);
1257
+ overflow: hidden;
1258
+ transition: background 0.3s ease, border-color 0.3s ease;
1259
+
1260
+ &.right {
1261
+ margin-inline-start: auto;
1262
+ border-left: none;
1263
+ border-right: var(--hairline) solid var(--card-border);
1264
+ text-align: right;
1265
+
1266
+ .h-line {
1267
+ transform-origin: right;
1268
+ margin-inline-start: auto;
1269
+ }
1270
+ }
1271
+
1272
+ &.center {
1273
+ margin-inline: auto;
1274
+ border-left: none;
1275
+ border-top: var(--hairline) solid var(--card-border);
1276
+ text-align: center;
1277
+ max-width: 28.75rem;
1278
+
1279
+ .h-line {
1280
+ transform-origin: center;
1281
+ margin-inline: auto;
1282
+ }
1283
+ }
1284
+ }
1285
+
1286
+ .tag {
1287
+ font-size: 0.6rem;
1288
+ letter-spacing: 0.25em;
1289
+ text-transform: uppercase;
1290
+ color: var(--accent);
1291
+ margin-block-end: 1.1rem;
1292
+ }
1293
+
1294
+ :where(h1, h2) {
1295
+ font-family: var(--font-display);
1296
+ font-weight: 400;
1297
+ letter-spacing: 0.03em;
1298
+ line-height: 0.92;
1299
+ }
1300
+
1301
+ h1 {
1302
+ font-size: clamp(3rem, 8vw, 6.5rem);
1303
+ }
1304
+ h2 {
1305
+ font-size: clamp(2.2rem, 5vw, 4rem);
1306
+ }
1307
+
1308
+ .body-text {
1309
+ font-size: 0.78rem;
1310
+ line-height: 1.8;
1311
+ color: color-mix(in srgb, var(--fg) 55%, transparent);
1312
+ margin-block-start: 1.25rem;
1313
+ }
1314
+
1315
+ .stat-row {
1316
+ display: flex;
1317
+ gap: 2.5rem;
1318
+ margin-block-start: 2rem;
1319
+ flex-wrap: wrap;
1320
+ }
1321
+
1322
+ .stat {
1323
+ display: flex;
1324
+ flex-direction: column;
1325
+ gap: 0.15rem;
1326
+ }
1327
+
1328
+ .stat-num {
1329
+ font-family: var(--font-display);
1330
+ font-size: 2.2rem;
1331
+ color: var(--accent);
1332
+ line-height: 1;
1333
+ }
1334
+
1335
+ .stat-label {
1336
+ font-size: 0.58rem;
1337
+ letter-spacing: 0.2em;
1338
+ text-transform: uppercase;
1339
+ color: var(--muted);
1340
+ }
1341
+
1342
+ .h-line {
1343
+ width: 3.125rem;
1344
+ height: var(--hairline);
1345
+ background: var(--accent);
1346
+ margin-block-end: 1.2rem;
1347
+ transform-origin: left;
1348
+ }
1349
+
1350
+ .cta-row {
1351
+ display: flex;
1352
+ align-items: center;
1353
+ justify-content: flex-start;
1354
+ gap: 0.75rem;
1355
+ margin-block-start: 1.75rem;
1356
+ }
1357
+
1358
+ .text-card.right .cta-row {
1359
+ justify-content: flex-end;
1360
+ }
1361
+
1362
+ .cta {
1363
+ display: inline-flex;
1364
+ align-items: center;
1365
+ gap: 0.6rem;
1366
+ padding: 0.6rem 1.25rem;
1367
+ border: var(--hairline) solid var(--accent);
1368
+ color: var(--accent);
1369
+ font-family: var(--font-mono);
1370
+ font-size: 0.62rem;
1371
+ letter-spacing: 0.18em;
1372
+ text-transform: uppercase;
1373
+ text-decoration: none;
1374
+ cursor: pointer;
1375
+ transition: background 0.2s, color 0.2s;
1376
+
1377
+ &:hover {
1378
+ background: var(--accent);
1379
+ color: var(--bg);
1380
+ }
1381
+
1382
+ svg {
1383
+ width: 0.6875rem;
1384
+ height: 0.6875rem;
1385
+ }
1386
+ }
1387
+
1388
+ .cta-back {
1389
+ display: inline-flex;
1390
+ align-items: center;
1391
+ gap: 0.6rem;
1392
+ padding: 0.6rem 1.25rem;
1393
+ border: var(--hairline) solid
1394
+ color-mix(in srgb, var(--muted) 45%, transparent);
1395
+ color: var(--muted);
1396
+ font-family: var(--font-mono);
1397
+ font-size: 0.62rem;
1398
+ letter-spacing: 0.18em;
1399
+ text-transform: uppercase;
1400
+ text-decoration: none;
1401
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
1402
+
1403
+ &:hover {
1404
+ background: color-mix(in srgb, var(--muted) 12%, transparent);
1405
+ border-color: var(--muted);
1406
+ color: var(--fg);
1407
+ }
1408
+
1409
+ svg {
1410
+ width: 0.6875rem;
1411
+ height: 0.6875rem;
1412
+ }
1413
+ }
1414
+ }
1415
+
1416
+ @layer reveal {
1417
+ :is(.tag, h1, h2, .body-text, .stat-row, .cta, .cta-back) {
1418
+ opacity: 0;
1419
+ translate: 0 var(--reveal-offset);
1420
+ }
1421
+
1422
+ :is(h1, h2) {
1423
+ translate: 0 1.125rem;
1424
+ transition: opacity var(--reveal-duration) ease 0.08s,
1425
+ translate var(--reveal-duration) ease 0.08s;
1426
+ }
1427
+
1428
+ .tag {
1429
+ transition: opacity var(--reveal-duration) ease,
1430
+ translate var(--reveal-duration) ease;
1431
+ }
1432
+
1433
+ .body-text {
1434
+ transition: opacity var(--reveal-duration) ease 0.2s,
1435
+ translate var(--reveal-duration) ease 0.2s;
1436
+ }
1437
+
1438
+ .stat-row {
1439
+ transition: opacity var(--reveal-duration) ease 0.3s,
1440
+ translate var(--reveal-duration) ease 0.3s;
1441
+ }
1442
+
1443
+ :is(.cta, .cta-back) {
1444
+ transition: opacity var(--reveal-duration) ease 0.35s,
1445
+ translate var(--reveal-duration) ease 0.35s, background 0.2s, color 0.2s,
1446
+ border-color 0.2s;
1447
+ }
1448
+
1449
+ .h-line {
1450
+ opacity: 0;
1451
+ scale: 0 1;
1452
+ transition: opacity 0.4s ease, s
1453
+ <textarea id="init-data" style="display:none">{"__browser":{"country":"DE","device":"unknown_device","mobile":false,"name":"yandex","platform":"linux","version":"26"},"__constants":{},"__CPDATA":{"domain_iframe":"https://cdpn.io","environment":"production","host":"codepen.io","iframe_allow":"accelerometer *; ambient-light-sensor *; camera *; display-capture *; encrypted-media *; geolocation *; gyroscope *; microphone *; midi *; payment *; serial *; vr *; web-share *; xr-spatial-tracking *","iframe_sandbox":"allow-downloads allow-forms allow-modals allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation"},"__graphql":{"data":{"data":{"sessionUser":{"id":"vmaLQk","name":"t-13-K+NxE9+ni8!.{{{{{((((..&amp;amp;&amp;amp;&amp;amp;&amp;amp;***..t-13-K+NxE9+ni8!*&amp;amp;&amp;","title":"t-13-K+NxE9+ni8!.{{{{{((((..&amp;amp;&amp;amp;&amp;amp;&amp;amp;***..t-13-K+NxE9+ni8!*&amp;amp;&amp;","avatar":"https://assets.codepen.io/t-1/user-default-avatar.jpg?format=auto&amp;version=0","currentContext":{"id":"vmaLQk","title":"t-13-K+NxE9+ni8!.{{{{{((((..&amp;amp;&amp;amp;&amp;amp;&amp;amp;***..t-13-K+NxE9+ni8!*&amp;amp;&amp;","name":"t-13-K+NxE9+ni8!.{{{{{((((..&amp;amp;&amp;amp;&amp;amp;&amp;amp;***..t-13-K+NxE9+ni8!*&amp;amp;&amp;","avatar":"https://assets.codepen.io/t-1/user-default-avatar.jpg?format=auto&amp;version=0","username":"Max-Vors","__typename":"User"},"currentTeamId":null,"username":"Max-Vors","admin":false,"anon":false,"pro":false,"verified":true,"featureFlags":[],"teams":[],"__typename":"User"}}},"url":"https://codepen.io/graphql","api":"cprails"},"__user":{"anon":false,"base_url":"/Max-Vors/","cohorts":[],"current_team_hashid":null,"current_team_id":0,"hashid":"vmaLQk","id":15027949,"itemType":"user","name":"t-13-K+NxE9+ni8!.{{{{{((((..&amp;amp;&amp;amp;&amp;amp;&amp;amp;***..t-13-K+NxE9+ni8!*&amp;amp;&amp;","paid":false,"tier":0,"username":"Max-Vors","created_at":"2025-07-22T11:36:15.496Z","email_verified":true,"collections_count":12,"collections_private_count":1,"followers_count":0,"followings_count":0,"pens_count":17,"pens_private_count":0,"projects_count":0,"projects_private_count":0},"__firebase":{"config":{"apiKey":"AIzaSyBgLAe7N_MdFpuVofMkcQLGwwhUu5tuxls","authDomain":"codepen-store-production.firebaseapp.com","databaseURL":"https://codepen-store-production.firebaseio.com","disabled":false,"projectId":"codepen-store-production"},"token":"eyJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJodHRwczovL2lkZW50aXR5dG9vbGtpdC5nb29nbGVhcGlzLmNvbS9nb29nbGUuaWRlbnRpdHkuaWRlbnRpdHl0b29sa2l0LnYxLklkZW50aXR5VG9vbGtpdCIsImNsYWltcyI6eyJvd25lcklkIjoidm1hTFFrIiwiYWRtaW4iOmZhbHNlfSwiZXhwIjoxNzc0NzY5NzEwLCJpYXQiOjE3NzQ3NjYxMTAsImlzcyI6ImZpcmViYXNlLWFkbWluc2RrLThva3lsQGNvZGVwZW4tc3RvcmUtcHJvZHVjdGlvbi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInN1YiI6ImZpcmViYXNlLWFkbWluc2RrLThva3lsQGNvZGVwZW4tc3RvcmUtcHJvZHVjdGlvbi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInVpZCI6InZtYUxRayJ9.lPggf8HS6KndSGypiEclGgbXDq4s-fOF8dc1Qe1tXYHxydVyPp8fNIKV1Vuj26BF6rWPqneulzcSvEIcLjaOzvdSkht0SI8VIcERo13Re08-ZibPd6mdUAu3o3M1n3GGNpVNLc8J-ToQ_7TTX_CHxocHMPbP_7D7h4s16qp4IywobgQfi9OcpgUsAdit9pahfrjdCs1_hb_LyEWo06do5vrO2EfNFiUBaYwpUEQy7gQF2bLVSRwqxuUK-MAo0Rw12zwX6DPssVs8PDZgnixdbTDX5Vtb7mOCiY4xdDoY7hJLHn1bYrHKXzjmtuewQBodgUloEBWDl9lCTmMCMWZJmA"},"__pay_stripe_public_key":"pk_live_2GndomDfiklqpSNQn8FrGuwZSMIMzha7DkLJqlYe7IR0ihKAlKdiHg68JJc5eVPt68rzAjzAAVXcUwjySHRCsgjQQ00gtRBUFNH","__pay_braintree_env":"production","__boomboom":{"serve_url":"https://cdpn.io/cpe/boomboom","store_url":"https://codepen.io/cpe/boomboom/store"},"__editor_config":{"id":"classic","editors":[{"id":"html","type":"html","name":"HTML","showEditor":true,"showSettings":true,"showProcessors":true,"embeds":{"showViewCompiled":true},"settings":[{"id":"processor","name":"HTML Preprocessor","type":"select","visible":true,"values":[{"id":"none","name":"None","value":"none","default":true},{"id":"haml","name":"Haml","value":"haml"},{"id":"markdown","name":"Markdown","value":"markdown"},{"id":"slim","name":"Slim","value":"slim"},{"id":"pug","name":"Pug","value":"pug"}]},{"id":"html_classes","name":"Add Class(es) to &lt;html&gt;","type":"input","placeholder":"e.g. single post post-1234","visible":true},{"id":"head","name":"Stuff for &lt;head&gt;","type":"textarea","placeholder":"e.g. &lt;meta&gt;, &lt;link&gt;, &lt;script&gt;","visible":true}],"actions":[{"id":"tidy_html","type":"tidy_code","name":"Format HTML","disabled_processors":["haml","slim"]},{"id":"view_compiled_html","type":"view_compiled","name":"View Compiled HTML","disabled_processors":["none"],"showInEmbeds":true},{"id":"analyze_html","type":"analyze","name":"Analyze HTML"},{"id":"maximize_html_editor","type":"maximize","name":"Maximize HTML Editor"},{"id":"minimize_html_editor","type":"minimize","name":"Minimize HTML Editor"},{"id":"fold_all_html","type":"fold_all","name":"Fold All"},{"id":"unfold_all_html","type":"unfold_all","name":"Unfold All"}],"processors":[{"id":"none","name":"None"},{"id":"haml","name":"Haml"},{"id":"markdown","name":"Markdown"},{"id":"slim","name":"Slim"},{"id":"pug","name":"Pug"}]},{"id":"css","type":"css","name":"CSS","showEditor":true,"showSettings":true,"showProcessors":true,"showVendorPrefixing":true,"embeds":{"showViewCompiled":true},"actions":[{"id":"tidy_css","type":"tidy_code","name":"Format CSS","disabled_processors":["sass","stylus"]},{"id":"view_compiled_css","type":"view_compiled","name":"View Compiled CSS","disabled_processors":["none"],"disabled_prefixes":["neither","prefixfree"]},{"id":"analyze_css","type":"analyze","name":"Analyze CSS"},{"id":"maximize_css_editor","type":"maximize","name":"Maximize CSS Editor"},{"id":"minimize_css_editor","type":"minimize","name":"Minimize CSS Editor"},{"id":"fold_all_css","type":"fold_all","name":"Fold All","disabled_processors":["sass"]},{"id":"unfold_all_css","type":"unfold_all","name":"Unfold All","disabled_processors":["sass"]}],"processors":[{"id":"none","name":"None"},{"id":"less","name":"Less"},{"id":"scss","name":"SCSS"},{"id":"sass","name":"Sass"},{"id":"stylus","name":"Stylus"},{"id":"postcss","name":"PostCSS"}],"parSuffixes":["less","scss","sass","styl"]},{"id":"js","type":"js","name":"JS","showEditor":true,"showSettings":true,"showProcessors":true,"detectImports":true,"externalResourcesHidden":false,"embeds":{"showViewCompiled":true},"actions":[{"id":"tidy_js","type":"tidy_code","name":"Format JavaScript","disabled_processors":["coffeescript, livescript"]},{"id":"view_compiled_js","type":"view_compiled","name":"View Compiled JavaScript","disabled_processors":["none"]},{"id":"analyze_js","type":"analyze","name":"Analyze JavaScript"},{"id":"maximize_js_editor","type":"maximize","name":"Maximize JavaScript Editor"},{"id":"minimize_js_editor","type":"minimize","name":"Minimize JavaScript Editor"},{"id":"fold_all_js","type":"fold_all","name":"Fold All"},{"id":"unfold_all_js","type":"unfold_all","name":"Unfold All"}],"processors":[{"id":"none","name":"None"},{"id":"babel","name":"Babel"},{"id":"typescript","name":"TypeScript"},{"id":"coffeescript","name":"CoffeeScript"},{"id":"livescript","name":"LiveScript"}]}],"formatters":[{"id":"classic","name":"Classic","runOn":[{"eventType":"demand"}],"url":"https://fi593g2v2a.execute-api.us-west-2.amazonaws.com/production/format"}],"layout":{"default":"top"},"linters":[{"id":"classic","name":"Classic","runOn":[{"eventType":"demand"}],"url":"https://fi593g2v2a.execute-api.us-west-2.amazonaws.com/production/lint"}],"preview":{"intervalMaxWaitMS":3500,"intervalMS":1200},"settings":[{"id":"behavior","name":"Behavior","type":"setting"},{"id":"editor","name":"Editor","type":"setting"}]},"__item":"{\"editor_settings\":{\"auto_run\":true,\"autocomplete\":false,\"code_folding\":true,\"css_pre_processor\":\"none\",\"css_prefix\":\"neither\",\"css_starter\":\"neither\",\"default_template\":null,\"emmet_active\":true,\"font_size\":\"15\",\"font_type\":\"system\",\"format_on_save\":true,\"html_pre_processor\":\"none\",\"indent_with\":\"spaces\",\"js_pre_processor\":\"none\",\"key_bindings\":\"normal\",\"line_numbers\":true,\"line_wrapping\":true,\"match_brackets\":true,\"snippets\":{\"markupSnippets\":{},\"stylesheetSnippets\":{}},\"tab_size\":2,\"theme\":\"twilight\",\"id\":\"ZYpyoRV\",\"auto_save\":true},\"hashid\":\"ZYpyoRV\",\"itemType\":\"pen\",\"resources\":[],\"tags\":[\"scroll\",\"scrollsync\",\"cow\",\"reverse-creativity\"],\"id\":88247834,\"user_id\":573855,\"html\":\"&lt;div id=\\\"scene\\\"&gt;\\n &lt;div id=\\\"cube\\\"&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"top\\\" data-i=\\\"0\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;TOP&lt;/span&gt;&lt;/div&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"front\\\" data-i=\\\"1\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;FRONT&lt;/span&gt;&lt;/div&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"right\\\" data-i=\\\"2\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;RIGHT&lt;/span&gt;&lt;/div&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"back\\\" data-i=\\\"3\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;BACK&lt;/span&gt;&lt;/div&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"left\\\" data-i=\\\"4\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;LEFT&lt;/span&gt;&lt;/div&gt;\\n &lt;div class=\\\"face\\\" data-face=\\\"bottom\\\" data-i=\\\"5\\\"&gt;&lt;span class=\\\"face-ph\\\"&gt;BOTTOM&lt;/span&gt;&lt;/div&gt;\\n &lt;/div&gt;\\n&lt;/div&gt;\\n\\n&lt;div id=\\\"hud\\\"&gt;\\n &lt;div id=\\\"hud_pct\\\"&gt;000%&lt;/div&gt;\\n &lt;div class=\\\"progress-bar\\\"&gt;\\n &lt;div class=\\\"progress-fill\\\" id=\\\"prog_fill\\\"&gt;&lt;/div&gt;\\n &lt;/div&gt;\\n &lt;div class=\\\"scene-label\\\" id=\\\"scene_name\\\"&gt;DESCENT&lt;/div&gt;\\n&lt;/div&gt;\\n\\n&lt;button id=\\\"theme_toggle\\\" aria-label=\\\"Toggle light/dark mode\\\"&gt;\\n &lt;svg class=\\\"icon-sun\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" /&gt;\\n &lt;path d=\\\"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;svg class=\\\"icon-moon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z\\\" /&gt;\\n &lt;/svg&gt;\\n&lt;/button&gt;\\n\\n&lt;div id=\\\"scene_strip\\\"&gt;\\n &lt;a href=\\\"#s0\\\" class=\\\"scene-dot active\\\"&gt;&lt;/a&gt;\\n &lt;a href=\\\"#s1\\\" class=\\\"scene-dot\\\"&gt;&lt;/a&gt;\\n &lt;a href=\\\"#s2\\\" class=\\\"scene-dot\\\"&gt;&lt;/a&gt;\\n &lt;a href=\\\"#s3\\\" class=\\\"scene-dot\\\"&gt;&lt;/a&gt;\\n &lt;a href=\\\"#s4\\\" class=\\\"scene-dot\\\"&gt;&lt;/a&gt;\\n &lt;a href=\\\"#s5\\\" class=\\\"scene-dot\\\"&gt;&lt;/a&gt;\\n&lt;/div&gt;\\n\\n&lt;div id=\\\"face_caption\\\"&gt;\\n &lt;div id=\\\"face_caption_num\\\"&gt;01&lt;/div&gt;\\n &lt;div id=\\\"face_caption_name\\\"&gt;DESCENT&lt;/div&gt;\\n&lt;/div&gt;\\n\\n&lt;div id=\\\"scroll_container\\\"&gt;\\n\\n &lt;section id=\\\"s0\\\"&gt;\\n &lt;div class=\\\"text-card\\\"&gt;\\n &lt;div class=\\\"tag\\\"&gt;Cube Gallery — Bad Art&lt;/div&gt;\\n &lt;h1&gt;WORK&lt;br&gt;AGAINST&lt;br&gt;THE MODEL&lt;/h1&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n What happens when you ask AI\\n to do the opposite of what it was built for?\\n Break proportion. Flip symmetry.\\n Leave the mistakes in place.\\n Scroll to find out.\\n &lt;/p&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s1\\\"&gt;\\n Enter\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n &lt;section id=\\\"s1\\\"&gt;\\n &lt;div class=\\\"text-card right\\\"&gt;\\n &lt;div class=\\\"h-line\\\"&gt;&lt;/div&gt;\\n &lt;div class=\\\"tag\\\"&gt;01 — Art Rebellion&lt;/div&gt;\\n &lt;h2&gt;FLIP&lt;br&gt;THE&lt;br&gt;PROMPT&lt;/h2&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n A cow walking a monster\\n instead of a monster walking a cow.\\n That inversion is enough\\n to break template thinking.\\n The cape ends up on the wrong body.\\n &lt;/p&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta-back\\\" href=\\\"#s0\\\"&gt;\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M11 6H1M6 11L1 6l5-5\\\" /&gt;\\n &lt;/svg&gt;\\n Back\\n &lt;/a&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s2\\\"&gt;\\n Turn\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n &lt;section id=\\\"s2\\\"&gt;\\n &lt;div class=\\\"text-card\\\"&gt;\\n &lt;div class=\\\"h-line\\\"&gt;&lt;/div&gt;\\n &lt;div class=\\\"tag\\\"&gt;02 — Moo Walk&lt;/div&gt;\\n &lt;h2&gt;NEITHER&lt;br&gt;LEADS&lt;/h2&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n Clashing colors. No balance.\\n A dance with no choreography.\\n When the model works against itself\\n something more genuine surfaces.\\n &lt;/p&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta-back\\\" href=\\\"#s1\\\"&gt;\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M11 6H1M6 11L1 6l5-5\\\" /&gt;\\n &lt;/svg&gt;\\n Back\\n &lt;/a&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s3\\\"&gt;\\n Turn\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n &lt;section id=\\\"s3\\\"&gt;\\n &lt;div class=\\\"text-card right\\\"&gt;\\n &lt;div class=\\\"h-line\\\"&gt;&lt;/div&gt;\\n &lt;div class=\\\"tag\\\"&gt;03 — Bad Art&lt;/div&gt;\\n &lt;h2&gt;REVERSE&lt;br&gt;CREATIVITY&lt;/h2&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n AI is trained to polish and regularize.\\n The harder direction is unlearning that.\\n A television for a head\\n is not an error.\\n It is the point.\\n &lt;/p&gt;\\n &lt;div class=\\\"stat-row\\\" style=\\\"justify-content: flex-end\\\"&gt;\\n &lt;div class=\\\"stat\\\"&gt;\\n &lt;span class=\\\"stat-num\\\"&gt;6&lt;/span&gt;\\n &lt;span class=\\\"stat-label\\\"&gt;Works&lt;/span&gt;\\n &lt;/div&gt;\\n &lt;div class=\\\"stat\\\"&gt;\\n &lt;span class=\\\"stat-num\\\"&gt;360&lt;/span&gt;\\n &lt;span class=\\\"stat-label\\\"&gt;Degrees&lt;/span&gt;\\n &lt;/div&gt;\\n &lt;div class=\\\"stat\\\"&gt;\\n &lt;span class=\\\"stat-num\\\"&gt;1&lt;/span&gt;\\n &lt;span class=\\\"stat-label\\\"&gt;Object&lt;/span&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta-back\\\" href=\\\"#s2\\\"&gt;\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M11 6H1M6 11L1 6l5-5\\\" /&gt;\\n &lt;/svg&gt;\\n Back\\n &lt;/a&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s4\\\"&gt;\\n Turn\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n &lt;section id=\\\"s4\\\"&gt;\\n &lt;div class=\\\"text-card\\\"&gt;\\n &lt;div class=\\\"h-line\\\"&gt;&lt;/div&gt;\\n &lt;div class=\\\"tag\\\"&gt;04 — No Rules&lt;/div&gt;\\n &lt;h2&gt;NONSENSE&lt;br&gt;AT THE&lt;br&gt;CENTER&lt;/h2&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n Dada and the surrealists knew this.\\n Put the absurd at the center\\n and the edges stop pretending.\\n Nine heads in the branches.\\n The sun has a face and it approves.\\n &lt;/p&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta-back\\\" href=\\\"#s3\\\"&gt;\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M11 6H1M6 11L1 6l5-5\\\" /&gt;\\n &lt;/svg&gt;\\n Back\\n &lt;/a&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s5\\\"&gt;\\n Turn\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n &lt;section id=\\\"s5\\\"&gt;\\n &lt;div class=\\\"text-card right\\\"&gt;\\n &lt;div class=\\\"h-line\\\"&gt;&lt;/div&gt;\\n &lt;div class=\\\"tag\\\"&gt;05 — Super Monsters&lt;/div&gt;\\n &lt;h2&gt;RAW&lt;br&gt;NOT&lt;br&gt;POLISHED&lt;/h2&gt;\\n &lt;p class=\\\"body-text\\\"&gt;\\n Forward creativity takes a sketch\\n and makes it real.\\n This goes the other way.\\n Imperfection left in place\\n is closer to something honest.\\n &lt;/p&gt;\\n &lt;div class=\\\"cta-row\\\"&gt;\\n &lt;a class=\\\"cta-back\\\" href=\\\"#s4\\\"&gt;\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M11 6H1M6 11L1 6l5-5\\\" /&gt;\\n &lt;/svg&gt;\\n Back\\n &lt;/a&gt;\\n &lt;a class=\\\"cta\\\" href=\\\"#s0\\\"&gt;\\n Begin again\\n &lt;svg viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"&gt;\\n &lt;path d=\\\"M1 6h10M6 1l5 5-5 5\\\" /&gt;\\n &lt;/svg&gt;\\n &lt;/a&gt;\\n &lt;/div&gt;\\n &lt;/div&gt;\\n &lt;/section&gt;\\n\\n&lt;/div&gt;\\n\\n&lt;div id=\\\"credit\\\"&gt;\\n &lt;a href=\\\"https://www.linkedin.com/posts/luis-martinez-lr_ai-creativity-reversecreativity-activity-7366853269517651970-zeUD?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAFq1dzgByK1x_NMrcq582OMbK-_3q0DthYY\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\"&gt;Reverse Creativity&lt;/a&gt;\\n&lt;/div&gt;\",\"css\":\"@import url(\\\"https://fonts.googleapis.com/css2?family=Bebas+Neue&amp;family=DM+Mono:wght@300;400&amp;display=swap\\\");\\n\\n@layer reset, tokens, base, layout, cube, ui, cards, reveal, theme, responsive;\\n\\n@layer reset {\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n margin: 0;\\n padding: 0;\\n }\\n}\\n\\n@layer tokens {\\n :root {\\n color-scheme: dark;\\n\\n --dark-bg: #1c1814;\\n --dark-fg: #ede8df;\\n --dark-muted: #8a7b6e;\\n --light-bg: #f0ece3;\\n --light-fg: #0d0d14;\\n --light-muted: #9a9aaa;\\n --accent-dark: #d4a84b;\\n --accent-light: #3a6e00;\\n\\n --bg: var(--dark-bg);\\n --fg: var(--dark-fg);\\n --muted: var(--dark-muted);\\n --accent: var(--accent-dark);\\n\\n --font-display: \\\"Bebas Neue\\\", sans-s@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@300;400&display=swap");
1454
+
1455
+ @layer reset, tokens, base, layout, cube, ui, cards, reveal, theme, responsive;
1456
+
1457
+ @layer reset {
1458
+ *,
1459
+ *::before,
1460
+ *::after {
1461
+ box-sizing: border-box;
1462
+ margin: 0;
1463
+ padding: 0;
1464
+ }
1465
+ }
1466
+
1467
+ @layer tokens {
1468
+ :root {
1469
+ color-scheme: dark;
1470
+
1471
+ --dark-bg: #1c1814;
1472
+ --dark-fg: #ede8df;
1473
+ --dark-muted: #8a7b6e;
1474
+ --light-bg: #f0ece3;
1475
+ --light-fg: #0d0d14;
1476
+ --light-muted: #9a9aaa;
1477
+ --accent-dark: #d4a84b;
1478
+ --accent-light: #3a6e00;
1479
+
1480
+ --bg: var(--dark-bg);
1481
+ --fg: var(--dark-fg);
1482
+ --muted: var(--dark-muted);
1483
+ --accent: var(--accent-dark);
1484
+
1485
+ --font-display: "Bebas Neue", sans-serif;
1486
+ --font-mono: "DM Mono", monospace;
1487
+ --hairline: 0.0625rem;
1488
+ --ui-inset: 2rem;
1489
+ --card-bg: rgba(28, 24, 20, 0.82);
1490
+ --card-border: rgba(212, 168, 75, 0.2);
1491
+ --nav-x: calc(var(--ui-inset) + 0.125rem);
1492
+ --reveal-offset: 0.625rem;
1493
+ --reveal-duration: 0.5s;
1494
+ --z-ui: 10;
1495
+ }
1496
+ }
1497
+
1498
+ @layer base {
1499
+ html {
1500
+ color-scheme: dark;
1501
+ }
1502
+
1503
+ body {
1504
+ background: var(--bg);
1505
+ color: var(--fg);
1506
+ font-family: var(--font-mono);
1507
+ overflow-x: hidden;
1508
+ transition: background 0.3s ease, color 0.3s ease;
1509
+ }
1510
+ }
1511
+
1512
+ @layer layout {
1513
+ #scene {
1514
+ position: fixed;
1515
+ inset: 0;
1516
+ z-index: 0;
1517
+ display: flex;
1518
+ align-items: center;
1519
+ justify-content: center;
1520
+ perspective: 1100px;
1521
+ pointer-events: none;
1522
+ }
1523
+
1524
+ #scroll_container {
1525
+ position: relative;
1526
+ z-index: 1;
1527
+ }
1528
+
1529
+ section {
1530
+ min-height: 100vh;
1531
+ display: flex;
1532
+ align-items: center;
1533
+ padding: 6rem calc(5rem + var(--ui-inset)) 6rem 5rem;
1534
+ }
1535
+ }
1536
+
1537
+ @layer cube {
1538
+ #cube {
1539
+ --s: min(74vw, 74vh, 560px);
1540
+ width: var(--s);
1541
+ height: var(--s);
1542
+ position: relative;
1543
+ transform-style: preserve-3d;
1544
+ transform: rotateX(90deg) rotateY(0deg);
1545
+ will-change: transform;
1546
+ }
1547
+
1548
+ .face {
1549
+ position: absolute;
1550
+ inset: 0;
1551
+ overflow: hidden;
1552
+ backface-visibility: hidden;
1553
+ background: repeating-linear-gradient(
1554
+ 0deg,
1555
+ rgba(255, 255, 255, 0.02) 0,
1556
+ rgba(255, 255, 255, 0.02) 1px,
1557
+ transparent 1px,
1558
+ transparent 48px
1559
+ ),
1560
+ repeating-linear-gradient(
1561
+ 90deg,
1562
+ rgba(255, 255, 255, 0.02) 0,
1563
+ rgba(255, 255, 255, 0.02) 1px,
1564
+ transparent 1px,
1565
+ transparent 48px
1566
+ ),
1567
+ #14100d;
1568
+
1569
+ img {
1570
+ position: absolute;
1571
+ inset: 0;
1572
+ width: 100%;
1573
+ height: 100%;
1574
+ object-fit: cover;
1575
+ display: block;
1576
+ }
1577
+
1578
+ &:has(img) .face-ph {
1579
+ display: none;
1580
+ }
1581
+ }
1582
+
1583
+ .face-ph {
1584
+ position: absolute;
1585
+ bottom: 1.5rem;
1586
+ left: 1.75rem;
1587
+ font-family: var(--font-display);
1588
+ font-size: clamp(2rem, 8vw, 5rem);
1589
+ letter-spacing: 0.04em;
1590
+ color: rgba(255, 255, 255, 0.06);
1591
+ pointer-events: none;
1592
+ user-select: none;
1593
+ }
1594
+
1595
+ .face[data-face="front"] {
1596
+ transform: translateZ(calc(var(--s) / 2));
1597
+ }
1598
+ .face[data-face="back"] {
1599
+ transform: rotateY(180deg) translateZ(calc(var(--s) / 2));
1600
+ }
1601
+ .face[data-face="right"] {
1602
+ transform: rotateY(90deg) translateZ(calc(var(--s) / 2));
1603
+ }
1604
+ .face[data-face="left"] {
1605
+ transform: rotateY(-90deg) translateZ(calc(var(--s) / 2));
1606
+ }
1607
+ .face[data-face="top"] {
1608
+ transform: rotateX(-90deg) translateZ(calc(var(--s) / 2));
1609
+ }
1610
+ .face[data-face="bottom"] {
1611
+ transform: rotateX(90deg) translateZ(calc(var(--s) / 2));
1612
+ }
1613
+ }
1614
+
1615
+ @layer ui {
1616
+ #hud {
1617
+ position: fixed;
1618
+ top: var(--ui-inset);
1619
+ right: var(--ui-inset);
1620
+ z-index: var(--z-ui);
1621
+ text-align: right;
1622
+ font-size: 0.65rem;
1623
+ letter-spacing: 0.15em;
1624
+ color: var(--muted);
1625
+ text-transform: uppercase;
1626
+
1627
+ .progress-bar {
1628
+ width: 7.5rem;
1629
+ height: var(--hairline);
1630
+ background: var(--muted);
1631
+ margin-block-start: 0.5rem;
1632
+ margin-inline-start: auto;
1633
+ position: relative;
1634
+ overflow: hidden;
1635
+ }
1636
+
1637
+ .progress-fill {
1638
+ position: absolute;
1639
+ inset-block: 0;
1640
+ inset-inline-start: 0;
1641
+ width: 0%;
1642
+ background: var(--accent);
1643
+ transition: width 0.1s linear;
1644
+ }
1645
+
1646
+ .scene-label {
1647
+ font-size: 0.6rem;
1648
+ color: var(--accent);
1649
+ margin-block-start: 0.4rem;
1650
+ }
1651
+ }
1652
+
1653
+ #scene_strip {
1654
+ position: fixed;
1655
+ left: var(--nav-x);
1656
+ top: 50%;
1657
+ translate: -50% -50%;
1658
+ z-index: var(--z-ui);
1659
+ display: flex;
1660
+ flex-direction: column;
1661
+ gap: 0.75rem;
1662
+ }
1663
+
1664
+ .scene-dot {
1665
+ position: relative;
1666
+ display: block;
1667
+ width: 0.25rem;
1668
+ height: 0.25rem;
1669
+ border-radius: 50%;
1670
+ background: var(--muted);
1671
+ transition: background 0.3s, scale 0.3s;
1672
+ cursor: pointer;
1673
+
1674
+ &::before {
1675
+ content: "";
1676
+ position: absolute;
1677
+ inset: -0.2rem;
1678
+ }
1679
+
1680
+ &.active {
1681
+ background: var(--accent);
1682
+ scale: 1.8;
1683
+ }
1684
+ }
1685
+
1686
+ #theme_toggle {
1687
+ position: fixed;
1688
+ bottom: var(--ui-inset);
1689
+ left: var(--nav-x);
1690
+ translate: -50% 0;
1691
+ z-index: var(--z-ui);
1692
+ width: 2rem;
1693
+ height: 2rem;
1694
+ border: none;
1695
+ background: color-mix(in srgb, var(--muted) 35%, transparent);
1696
+ border-radius: 50%;
1697
+ cursor: pointer;
1698
+ display: flex;
1699
+ align-items: center;
1700
+ justify-content: center;
1701
+ transition: background 0.3s;
1702
+
1703
+ &:hover {
1704
+ background: color-mix(in srgb, var(--muted) 55%, transparent);
1705
+ }
1706
+
1707
+ svg {
1708
+ width: 0.875rem;
1709
+ height: 0.875rem;
1710
+ position: absolute;
1711
+ transition: opacity 0.3s ease, rotate 0.3s ease;
1712
+ color: var(--accent);
1713
+ }
1714
+
1715
+ .icon-sun {
1716
+ opacity: 1;
1717
+ rotate: 0deg;
1718
+ }
1719
+
1720
+ .icon-moon {
1721
+ opacity: 0;
1722
+ rotate: 90deg;
1723
+ }
1724
+ }
1725
+
1726
+ #face_caption {
1727
+ position: fixed;
1728
+ bottom: var(--ui-inset);
1729
+ left: 50%;
1730
+ translate: -50% 0;
1731
+ z-index: var(--z-ui);
1732
+ text-align: center;
1733
+ pointer-events: none;
1734
+ user-select: none;
1735
+ }
1736
+
1737
+ #face_caption_num {
1738
+ font-size: 0.58rem;
1739
+ letter-spacing: 0.28em;
1740
+ color: var(--accent);
1741
+ text-transform: uppercase;
1742
+ margin-block-end: 0.15rem;
1743
+ }
1744
+
1745
+ #face_caption_name {
1746
+ font-family: var(--font-display);
1747
+ font-size: clamp(1.8rem, 5vw, 3.5rem);
1748
+ letter-spacing: 0.08em;
1749
+ color: var(--muted);
1750
+ opacity: 0.5;
1751
+ line-height: 1;
1752
+ }
1753
+
1754
+ #credit {
1755
+ position: fixed;
1756
+ right: var(--ui-inset);
1757
+ top: 50%;
1758
+ transform: translateY(-50%) rotate(-90deg);
1759
+ transform-origin: right center;
1760
+ z-index: var(--z-ui);
1761
+ font-family: var(--font-mono);
1762
+ font-size: 0.65rem;
1763
+ letter-spacing: 0.15em;
1764
+ text-transform: uppercase;
1765
+
1766
+ a {
1767
+ color: var(--muted);
1768
+ text-decoration: none;
1769
+ }
1770
+ }
1771
+ }
1772
+
1773
+ @layer cards {
1774
+ .text-card {
1775
+ max-width: 23.75rem;
1776
+ padding: 2.25rem 2rem;
1777
+ background: var(--card-bg);
1778
+ border-left: var(--hairline) solid var(--card-border);
1779
+ backdrop-filter: blur(6px) saturate(120%);
1780
+ -webkit-backdrop-filter: blur(6px) saturate(120%);
1781
+ overflow: hidden;
1782
+ transition: background 0.3s ease, border-color 0.3s ease;
1783
+
1784
+ &.right {
1785
+ margin-inline-start: auto;
1786
+ border-left: none;
1787
+ border-right: var(--hairline) solid var(--card-border);
1788
+ text-align: right;
1789
+
1790
+ .h-line {
1791
+ transform-origin: right;
1792
+ margin-inline-start: auto;
1793
+ }
1794
+ }
1795
+
1796
+ &.center {
1797
+ margin-inline: auto;
1798
+ border-left: none;
1799
+ border-top: var(--hairline) solid var(--card-border);
1800
+ text-align: center;
1801
+ max-width: 28.75rem;
1802
+
1803
+ .h-line {
1804
+ transform-origin: center;
1805
+ margin-inline: auto;
1806
+ }
1807
+ }
1808
+ }
1809
+
1810
+ .tag {
1811
+ font-size: 0.6rem;
1812
+ letter-spacing: 0.25em;
1813
+ text-transform: uppercase;
1814
+ color: var(--accent);
1815
+ margin-block-end: 1.1rem;
1816
+ }
1817
+
1818
+ :where(h1, h2) {
1819
+ font-family: var(--font-display);
1820
+ font-weight: 400;
1821
+ letter-spacing: 0.03em;
1822
+ line-height: 0.92;
1823
+ }
1824
+
1825
+ h1 {
1826
+ font-size: clamp(3rem, 8vw, 6.5rem);
1827
+ }
1828
+ h2 {
1829
+ font-size: clamp(2.2rem, 5vw, 4rem);
1830
+ }
1831
+
1832
+ .body-text {
1833
+ font-size: 0.78rem;
1834
+ line-height: 1.8;
1835
+ color: color-mix(in srgb, var(--fg) 55%, transparent);
1836
+ margin-block-start: 1.25rem;
1837
+ }
1838
+
1839
+ .stat-row {
1840
+ display: flex;
1841
+ gap: 2.5rem;
1842
+ margin-block-start: 2rem;
1843
+ flex-wrap: wrap;
1844
+ }
1845
+
1846
+ .stat {
1847
+ display: flex;
1848
+ flex-direction: column;
1849
+ gap: 0.15rem;
1850
+ }
1851
+
1852
+ .stat-num {
1853
+ font-family: var(--font-display);
1854
+ font-size: 2.2rem;
1855
+ color: var(--accent);
1856
+ line-height: 1;
1857
+ }
1858
+
1859
+ .stat-label {
1860
+ font-size: 0.58rem;
1861
+ letter-spacing: 0.2em;
1862
+ text-transform: uppercase;
1863
+ color: var(--muted);
1864
+ }
1865
+
1866
+ .h-line {
1867
+ width: 3.125rem;
1868
+ height: var(--hairline);
1869
+ background: var(--accent);
1870
+ margin-block-end: 1.2rem;
1871
+ transform-origin: left;
1872
+ }
1873
+
1874
+ .cta-row {
1875
+ display: flex;
1876
+ align-items: center;
1877
+ justify-content: flex-start;
1878
+ gap: 0.75rem;
1879
+ margin-block-start: 1.75rem;
1880
+ }
1881
+
1882
+ .text-card.right .cta-row {
1883
+ justify-content: flex-end;
1884
+ }
1885
+
1886
+ .cta {
1887
+ display: inline-flex;
1888
+ align-items: center;
1889
+ gap: 0.6rem;
1890
+ padding: 0.6rem 1.25rem;
1891
+ border: var(--hairline) solid var(--accent);
1892
+ color: var(--accent);
1893
+ font-family: var(--font-mono);
1894
+ font-size: 0.62rem;
1895
+ letter-spacing: 0.18em;
1896
+ text-transform: uppercase;
1897
+ text-decoration: none;
1898
+ cursor: pointer;
1899
+ transition: background 0.2s, color 0.2s;
1900
+
1901
+ &:hover {
1902
+ background: var(--accent);
1903
+ color: var(--bg);
1904
+ }
1905
+
1906
+ svg {
1907
+ width: 0.6875rem;
1908
+ height: 0.6875rem;
1909
+ }
1910
+ }
1911
+
1912
+ .cta-back {
1913
+ display: inline-flex;
1914
+ align-items: center;
1915
+ gap: 0.6rem;
1916
+ padding: 0.6rem 1.25rem;
1917
+ border: var(--hairline) solid
1918
+ color-mix(in srgb, var(--muted) 45%, transparent);
1919
+ color: var(--muted);
1920
+ font-family: var(--font-mono);
1921
+ font-size: 0.62rem;
1922
+ letter-spacing: 0.18em;
1923
+ text-transform: uppercase;
1924
+ text-decoration: none;
1925
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
1926
+
1927
+ &:hover {
1928
+ background: color-mix(in srgb, var(--muted) 12%, transparent);
1929
+ border-color: var(--muted);
1930
+ color: var(--fg);
1931
+ }
1932
+
1933
+ svg {
1934
+ width: 0.6875rem;
1935
+ height: 0.6875rem;
1936
+ }
1937
+ }
1938
+ }
1939
+
1940
+ @layer reveal {
1941
+ :is(.tag, h1, h2, .body-text, .stat-row, .cta, .cta-back) {
1942
+ opacity: 0;
1943
+ translate: 0 var(--reveal-offset);
1944
+ }
1945
+
1946
+ :is(h1, h2) {
1947
+ translate: 0 1.125rem;
1948
+ transition: opacity var(--reveal-duration) ease 0.08s,
1949
+ translate var(--reveal-duration) ease 0.08s;
1950
+ }
1951
+
1952
+ .tag {
1953
+ transition: opacity var(--reveal-duration) ease,
1954
+ translate var(--reveal-duration) ease;
1955
+ }
1956
+
1957
+ .body-text {
1958
+ transition: opacity var(--reveal-duration) ease 0.2s,
1959
+ translate var(--reveal-duration) ease 0.2s;
1960
+ }
1961
+
1962
+ .stat-row {
1963
+ transition: opacity var(--reveal-duration) ease 0.3s,
1964
+ translate var(--reveal-duration) ease 0.3s;
1965
+ }
1966
+
1967
+ :is(.cta, .cta-back) {
1968
+ transition: opacity var(--reveal-duration) ease 0.35s,
1969
+ translate var(--reveal-duration) ease 0.35s, background 0.2s, color 0.2s,
1970
+ border-color 0.2s;
1971
+ }
1972
+
1973
+ .h-line {
1974
+ opacity: 0;
1975
+ scale: 0 1;
1976
+ transition: opacity 0.4s ease, scale 0.4s ease;
1977
+ }
1978
+
1979
+ :is(.tag, h1, h2, .body-text, .stat-row, .cta, .cta-back).visible {
1980
+ opacity: 1;
1981
+ translate: 0 0;
1982
+ }
1983
+
1984
+ .h-line.visible {
1985
+ opacity: 1;
1986
+ scale: 1 1;
1987
+ }
1988
+ }
1989
+
1990
+ @layer theme {
1991
+ :root[data-theme="light"] {
1992
+ color-scheme: light;
1993
+ --bg: var(--light-bg);
1994
+ --fg: var(--light-fg);
1995
+ --muted: var(--light-muted);
1996
+ --accent: var(--accent-light);
1997
+ --card-bg: rgba(240, 236, 227, 0.08);
1998
+ --card-border: rgba(58, 110, 0, 0.14);
1999
+
2000
+ .face {
2001
+ background: repeating-linear-gradient(
2002
+ 0deg,
2003
+ rgba(0, 0, 0, 0.05) 0,
2004
+ rgba(0, 0, 0, 0.05) 1px,
2005
+ transparent 1px,
2006
+ transparent 48px
2007
+ ),
2008
+ repeating-linear-gradient(
2009
+ 90deg,
2010
+ rgba(0, 0, 0, 0.05) 0,
2011
+ rgba(0, 0, 0, 0.05) 1px,
2012
+ transparent 1px,
2013
+ transparent 48px
2014
+ ),
2015
+ #ddd8cf;
2016
+ }
2017
+
2018
+ .face-ph {
2019
+ color: rgba(0, 0, 0, 0.07);
2020
+ }
2021
+
2022
+ #theme_toggle {
2023
+ svg {
2024
+ color: var(--fg);
2025
+ }
2026
+ .icon-sun {
2027
+ opacity: 0;
2028
+ rotate: -90deg;
2029
+ }
2030
+ .icon-moon {
2031
+ opacity: 1;
2032
+ rotate: 0deg;
2033
+ }
2034
+ }
2035
+
2036
+ #face_caption_name {
2037
+ opacity: 0.35;
2038
+ }
2039
+ }
2040
+ }
2041
+
2042
+ @layer responsive {
2043
+ @media (width <= 56.25em) {
2044
+ #hud {
2045
+ top: 1rem;
2046
+ right: 1rem;
2047
+ }
2048
+
2049
+ #scene_strip {
2050
+ display: none;
2051
+ }
2052
+
2053
+ #theme_toggle {
2054
+ bottom: 1rem;
2055
+ left: 1.25rem;
2056
+ translate: 0 0;
2057
+ }
2058
+
2059
+ #face_caption {
2060
+ bottom: 1rem;
2061
+ }
2062
+
2063
+ section {
2064
+ min-height: 150vh;
2065
+ align-items: flex-end;
2066
+ padding: 0 1.5rem 3.5rem;
2067
+ }
2068
+
2069
+ #s0 {
2070
+ min-height: 100vh;
2071
+ align-items: center;
2072
+ padding: 4rem 1.5rem;
2073
+ }
2074
+
2075
+ :is(.text-card, .text-card.right, .text-card.center) {
2076
+ max-width: 100%;
2077
+ padding: 1.5rem 1.25rem;
2078
+ }
2079
+
2080
+ .body-text {
2081
+ line-height: 1.55;
2082
+ }
2083
+
2084
+ .stat-row {
2085
+ gap: 1.5rem;
2086
+ margin-block-start: 1.25rem;
2087
+ }
2088
+
2089
+ .cta-row {
2090
+ margin-block-start: 1.25rem;
2091
+ }
2092
+ }
2093
+ }<div id="scene">
2094
+ <div id="cube">
2095
+ <div class="face" data-face="top" data-i="0"><span class="face-ph">TOP</span></div>
2096
+ <div class="face" data-face="front" data-i="1"><span class="face-ph">FRONT</span></div>
2097
+ <div class="face" data-face="right" data-i="2"><span class="face-ph">RIGHT</span></div>
2098
+ <div class="face" data-face="back" data-i="3"><span class="face-ph">BACK</span></div>
2099
+ <div class="face" data-face="left" data-i="4"><span class="face-ph">LEFT</span></div>
2100
+ <div class="face" data-face="bottom" data-i="5"><span class="face-ph">BOTTOM</span></div>
2101
+ </div>
2102
+ </div>
2103
+
2104
+ <div id="hud">
2105
+ <div id="hud_pct">000%</div>
2106
+ <div class="progress-bar">
2107
+ <div class="progress-fill" id="prog_fill"></div>
2108
+ </div>
2109
+ <div class="scene-label" id="scene_name">DESCENT</div>
2110
+ </div>
2111
+
2112
+ <button id="theme_toggle" aria-label="Toggle light/dark mode">
2113
+ <svg class="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
2114
+ <circle cx="12" cy="12" r="4" />
2115
+ <path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" />
2116
+ </svg>
2117
+ <svg class="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
2118
+ <path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
2119
+ </svg>
2120
+ </button>
2121
+
2122
+ <div id="scene_strip">
2123
+ <a href="#s0" class="scene-dot active"></a>
2124
+ <a href="#s1" class="scene-dot"></a>
2125
+ <a href="#s2" class="scene-dot"></a>
2126
+ <a href="#s3" class="scene-dot"></a>
2127
+ <a href="#s4" class="scene-dot"></a>
2128
+ <a href="#s5" class="scene-dot"></a>
2129
+ </div>
2130
+
2131
+ <div id="face_caption">
2132
+ <div id="face_caption_num">01</div>
2133
+ <div id="face_caption_name">DESCENT</div>
2134
+ </div>
2135
+
2136
+ <div id="scroll_container">
2137
+
2138
+ <section id="s0">
2139
+ <div class="text-card">
2140
+ <div class="tag">Cube Gallery — Bad Art</div>
2141
+ <h1>WORK<br>AGAINST<br>THE MODEL</h1>
2142
+ <p class="body-text">
2143
+ What happens when you ask AI
2144
+ to do the opposite of what it was built for?
2145
+ Break proportion. Flip symmetry.
2146
+ Leave the mistakes in place.
2147
+ Scroll to find out.
2148
+ </p>
2149
+ <div class="cta-row">
2150
+ <a class="cta" href="#s1">
2151
+ Enter
2152
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2153
+ <path d="M1 6h10M6 1l5 5-5 5" />
2154
+ </svg>
2155
+ </a>
2156
+ </div>
2157
+ </div>
2158
+ </section>
2159
+
2160
+ <section id="s1">
2161
+ <div class="text-card right">
2162
+ <div class="h-line"></div>
2163
+ <div class="tag">01 — Art Rebellion</div>
2164
+ <h2>FLIP<br>THE<br>PROMPT</h2>
2165
+ <p class="body-text">
2166
+ A cow walking a monster
2167
+ instead of a monster walking a cow.
2168
+ That inversion is enough
2169
+ to break template thinking.
2170
+ The cape ends up on the wrong body.
2171
+ </p>
2172
+ <div class="cta-row">
2173
+ <a class="cta-back" href="#s0">
2174
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2175
+ <path d="M11 6H1M6 11L1 6l5-5" />
2176
+ </svg>
2177
+ Back
2178
+ </a>
2179
+ <a class="cta" href="#s2">
2180
+ Turn
2181
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2182
+ <path d="M1 6h10M6 1l5 5-5 5" />
2183
+ </svg>
2184
+ </a>
2185
+ </div>
2186
+ </div>
2187
+ </section>
2188
+
2189
+ <section id="s2">
2190
+ <div class="text-card">
2191
+ <div class="h-line"></div>
2192
+ <div class="tag">02 — Moo Walk</div>
2193
+ <h2>NEITHER<br>LEADS</h2>
2194
+ <p class="body-text">
2195
+ Clashing colors. No balance.
2196
+ A dance with no choreography.
2197
+ When the model works against itself
2198
+ something more genuine surfaces.
2199
+ </p>
2200
+ <div class="cta-row">
2201
+ <a class="cta-back" href="#s1">
2202
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2203
+ <path d="M11 6H1M6 11L1 6l5-5" />
2204
+ </svg>
2205
+ Back
2206
+ </a>
2207
+ <a class="cta" href="#s3">
2208
+ Turn
2209
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2210
+ <path d="M1 6h10M6 1l5 5-5 5" />
2211
+ </svg>
2212
+ </a>
2213
+ </div>
2214
+ </div>
2215
+ </section>
2216
+
2217
+ <section id="s3">
2218
+ <div class="text-card right">
2219
+ <div class="h-line"></div>
2220
+ <div class="tag">03 — Bad Art</div>
2221
+ <h2>REVERSE<br>CREATIVITY</h2>
2222
+ <p class="body-text">
2223
+ AI is trained to polish and regularize.
2224
+ The harder direction is unlearning that.
2225
+ A television for a head
2226
+ is not an error.
2227
+ It is the point.
2228
+ </p>
2229
+ <div class="stat-row" style="justify-content: flex-end">
2230
+ <div class="stat">
2231
+ <span class="stat-num">6</span>
2232
+ <span class="stat-label">Works</span>
2233
+ </div>
2234
+ <div class="stat">
2235
+ <span class="stat-num">360</span>
2236
+ <span class="stat-label">Degrees</span>
2237
+ </div>
2238
+ <div class="stat">
2239
+ <span class="stat-num">1</span>
2240
+ <span class="stat-label">Object</span>
2241
+ </div>
2242
+ </div>
2243
+ <div class="cta-row">
2244
+ <a class="cta-back" href="#s2">
2245
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2246
+ <path d="M11 6H1M6 11L1 6l5-5" />
2247
+ </svg>
2248
+ Back
2249
+ </a>
2250
+ <a class="cta" href="#s4">
2251
+ Turn
2252
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2253
+ <path d="M1 6h10M6 1l5 5-5 5" />
2254
+ </svg>
2255
+ </a>
2256
+ </div>
2257
+ </div>
2258
+ </section>
2259
+
2260
+ <section id="s4">
2261
+ <div class="text-card">
2262
+ <div class="h-line"></div>
2263
+ <div class="tag">04 — No Rules</div>
2264
+ <h2>NONSENSE<br>AT THE<br>CENTER</h2>
2265
+ <p class="body-text">
2266
+ Dada and the surrealists knew this.
2267
+ Put the absurd at the center
2268
+ and the edges stop pretending.
2269
+ Nine heads in the branches.
2270
+ The sun has a face and it approves.
2271
+ </p>
2272
+ <div class="cta-row">
2273
+ <a class="cta-back" href="#s3">
2274
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2275
+ <path d="M11 6H1M6 11L1 6l5-5" />
2276
+ </svg>
2277
+ Back
2278
+ </a>
2279
+ <a class="cta" href="#s5">
2280
+ Turn
2281
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2282
+ <path d="M1 6h10M6 1l5 5-5 5" />
2283
+ </svg>
2284
+ </a>
2285
+ </div>wdEWs
2286
+ </div>
2287
+ </section>
2288
+
2289
+ <section id="s5">
2290
+ <div class="text-card right">
2291
+ <div class="h-line"></div>
2292
+ <div class="tag">05 — Super Monsters</div>
2293
+ <h2>RAW<br>NOT<br>POLISHED</h2>
2294
+ <p class="body-text">
2295
+ Forward creativity takes a sketch
2296
+ and makes it real.
2297
+ This goes the other way.
2298
+ Imperfection left in place
2299
+ is closer to something honest.
2300
+ </p>
2301
+ <div class="cta-row">
2302
+ <a class="cta-back" href="#s4">
2303
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2304
+ <path d="M11 6H1M6 11L1 6l5-5" />
2305
+ </svg>
2306
+ Back
2307
+ </a>
2308
+ <a class="cta" href="#s0">
2309
+ Begin again
2310
+ <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.5">
2311
+ <path d="M1 6h10M6 1l5 5-5 5" />
2312
+ </svg>
2313
+ </a>
2314
+ </div>
2315
+ </div>
2316
+ </section>
2317
+
2318
+ </div>
2319
+
2320
+ <div id="credit">
2321
+ <a href="https://www.linkedin.com/posts/luis-martinez-lr_ai-creativity-reversecreativity-activity-7366853269517651970-zeUD?utm_source=share&utm_medium=member_desktop&rcm=ACoAAFq1dzgByK1x_NMrcq582OMbK-_3q0DthYY" target="_blank" rel="noopener">Reverse Creativity</a>
2322
+ </div>body {
2323
  padding: 2rem;
2324
  font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
2325
  }