@whykusanagi/corrupted-theme 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,478 @@
1
+ /* theme.css — Corrupted Theme Master Stylesheet */
2
+ /*
3
+ * A dark, glassmorphic design system with pink/purple accents
4
+ * Modular architecture for maximum flexibility and reusability
5
+ *
6
+ * Import this single file to get all theme styles
7
+ * Or import individual modules for granular control
8
+ */
9
+
10
+ /* ========== CORE FOUNDATION ========== */
11
+ @import './variables.css';
12
+
13
+ /* ========== TYPOGRAPHY & TEXT ========== */
14
+ @import './typography.css';
15
+
16
+ /* ========== GLASSMORPHISM EFFECTS ========== */
17
+ @import './glassmorphism.css';
18
+
19
+ /* ========== ANIMATIONS ========== */
20
+ @import './animations.css';
21
+
22
+ /* ========== REUSABLE COMPONENTS ========== */
23
+ @import './components.css';
24
+
25
+ /* ========== UTILITY CLASSES ========== */
26
+ @import './utilities.css';
27
+
28
+ /* ========== RESPONSIVE GRID SYSTEM ========== */
29
+
30
+ .container {
31
+ position: relative;
32
+ z-index: 1;
33
+ display: grid;
34
+ grid-template-columns: 1fr 1fr;
35
+ gap: 4rem;
36
+ align-items: center;
37
+ min-height: 100vh;
38
+ padding: 3rem;
39
+ max-width: 1400px;
40
+ margin: 0 auto;
41
+ }
42
+
43
+ .content {
44
+ padding: 2.5rem;
45
+ background: var(--glass);
46
+ border: 1px solid var(--border);
47
+ border-radius: var(--radius-2xl);
48
+ backdrop-filter: blur(15px);
49
+ box-shadow: 0 8px 32px rgba(217, 79, 144, 0.15), inset 0 0 20px rgba(217, 79, 144, 0.05);
50
+ animation: slideIn 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
51
+ }
52
+
53
+ .character {
54
+ text-align: center;
55
+ animation: fadeIn 2s ease-in-out;
56
+ display: flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ }
60
+
61
+ .character img {
62
+ max-height: 85vh;
63
+ width: auto;
64
+ object-fit: contain;
65
+ filter: drop-shadow(0 0 30px rgba(217, 79, 144, 0.25));
66
+ }
67
+
68
+ .logo {
69
+ display: block;
70
+ max-width: 280px;
71
+ margin: 0 auto 2rem;
72
+ filter: drop-shadow(0 0 20px rgba(217, 79, 144, 0.3));
73
+ }
74
+
75
+ .intro {
76
+ font-size: 1rem;
77
+ text-align: center;
78
+ margin-bottom: 2rem;
79
+ line-height: 1.8;
80
+ color: var(--text-secondary);
81
+ }
82
+
83
+ .intro a {
84
+ color: var(--accent-light);
85
+ text-decoration: none;
86
+ transition: color var(--transition-normal);
87
+ }
88
+
89
+ .intro a:hover {
90
+ color: var(--accent);
91
+ text-decoration: underline;
92
+ }
93
+
94
+ .intro code {
95
+ background: rgba(217, 79, 144, 0.15);
96
+ padding: 0.25rem 0.5rem;
97
+ border-radius: var(--radius-sm);
98
+ font-family: 'Monaco', 'Courier New', monospace;
99
+ font-size: 0.9rem;
100
+ color: var(--accent-light);
101
+ }
102
+
103
+ .social-icons {
104
+ display: flex;
105
+ justify-content: center;
106
+ gap: 1.5rem;
107
+ font-size: 1.3rem;
108
+ flex-wrap: wrap;
109
+ }
110
+
111
+ .social-icons a {
112
+ color: var(--text-secondary);
113
+ transition: all var(--transition-normal) var(--transition-easing);
114
+ display: inline-flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ width: 44px;
118
+ height: 44px;
119
+ border-radius: var(--radius-lg);
120
+ background: rgba(217, 79, 144, 0.08);
121
+ border: 1px solid rgba(217, 79, 144, 0.15);
122
+ }
123
+
124
+ .social-icons a:hover {
125
+ color: var(--accent);
126
+ transform: translateY(-4px);
127
+ background: rgba(217, 79, 144, 0.15);
128
+ border-color: rgba(217, 79, 144, 0.4);
129
+ box-shadow: 0 8px 16px rgba(217, 79, 144, 0.2);
130
+ }
131
+
132
+ footer {
133
+ text-align: center;
134
+ font-size: 0.8rem;
135
+ color: var(--text-muted);
136
+ padding: 1.5rem;
137
+ z-index: 1;
138
+ position: relative;
139
+ border-top: 1px solid var(--border);
140
+ margin-top: 4rem;
141
+ }
142
+
143
+ footer a {
144
+ color: var(--text-secondary);
145
+ text-decoration: none;
146
+ transition: color var(--transition-normal);
147
+ }
148
+
149
+ footer a:hover {
150
+ color: var(--accent);
151
+ }
152
+
153
+ /* ========== NAVIGATION ========== */
154
+
155
+ nav.navbar {
156
+ position: sticky;
157
+ top: 0;
158
+ z-index: var(--z-navbar);
159
+ background: rgba(10, 10, 10, 0.95);
160
+ border-bottom: 1px solid var(--border);
161
+ backdrop-filter: blur(15px);
162
+ padding: 0;
163
+ }
164
+
165
+ .navbar-content {
166
+ max-width: 1400px;
167
+ margin: 0 auto;
168
+ padding: 1rem 2rem;
169
+ display: flex;
170
+ justify-content: space-between;
171
+ align-items: center;
172
+ gap: 2rem;
173
+ }
174
+
175
+ .navbar-logo {
176
+ font-size: 1.25rem;
177
+ font-weight: 700;
178
+ color: var(--accent);
179
+ text-decoration: none;
180
+ transition: all var(--transition-normal);
181
+ display: flex;
182
+ align-items: center;
183
+ gap: 0.5rem;
184
+ min-width: fit-content;
185
+ }
186
+
187
+ .navbar-logo:hover {
188
+ color: var(--accent-light);
189
+ transform: translateY(-2px);
190
+ }
191
+
192
+ .navbar-links {
193
+ display: flex;
194
+ gap: 1.5rem;
195
+ list-style: none;
196
+ margin: 0;
197
+ padding: 0;
198
+ align-items: center;
199
+ flex-wrap: wrap;
200
+ }
201
+
202
+ .navbar-links a {
203
+ color: var(--text-secondary);
204
+ text-decoration: none;
205
+ font-size: 0.95rem;
206
+ font-weight: 500;
207
+ transition: all var(--transition-normal);
208
+ padding: 0.5rem 0;
209
+ position: relative;
210
+ }
211
+
212
+ .navbar-links a::after {
213
+ content: '';
214
+ position: absolute;
215
+ bottom: -2px;
216
+ left: 0;
217
+ width: 0;
218
+ height: 2px;
219
+ background: var(--accent);
220
+ transition: width var(--transition-normal);
221
+ }
222
+
223
+ .navbar-links a:hover {
224
+ color: var(--accent);
225
+ }
226
+
227
+ .navbar-links a:hover::after {
228
+ width: 100%;
229
+ }
230
+
231
+ .navbar-links a.active {
232
+ color: var(--accent);
233
+ }
234
+
235
+ .navbar-links a.active::after {
236
+ width: 100%;
237
+ }
238
+
239
+ /* ========== SECTIONS ========== */
240
+
241
+ .section {
242
+ padding: 3rem 2rem;
243
+ position: relative;
244
+ z-index: 1;
245
+ }
246
+
247
+ .section-title {
248
+ font-size: 2rem;
249
+ font-weight: 700;
250
+ margin-bottom: 1rem;
251
+ background: var(--gradient-accent);
252
+ -webkit-background-clip: text;
253
+ -webkit-text-fill-color: transparent;
254
+ background-clip: text;
255
+ letter-spacing: -0.5px;
256
+ }
257
+
258
+ .section-subtitle {
259
+ font-size: 1rem;
260
+ color: var(--text-secondary);
261
+ margin-bottom: 2rem;
262
+ line-height: 1.6;
263
+ }
264
+
265
+ /* ========== GRID LAYOUTS ========== */
266
+
267
+ .grid {
268
+ display: grid;
269
+ gap: 2rem;
270
+ grid-auto-fit: auto-fit;
271
+ }
272
+
273
+ .grid-2 {
274
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
275
+ }
276
+
277
+ .grid-3 {
278
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
279
+ }
280
+
281
+ .grid-4 {
282
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
283
+ }
284
+
285
+ /* ========== RESPONSIVE DESIGN ========== */
286
+
287
+ @media screen and (max-width: 1200px) {
288
+ .container {
289
+ grid-template-columns: 1fr;
290
+ gap: 3rem;
291
+ padding: 2.5rem 2rem;
292
+ }
293
+
294
+ .character img {
295
+ max-height: 70vh;
296
+ }
297
+ }
298
+
299
+ @media screen and (max-width: 1024px) {
300
+ h1 {
301
+ font-size: 2rem;
302
+ }
303
+
304
+ h2 {
305
+ font-size: 1.5rem;
306
+ }
307
+
308
+ .section-title {
309
+ font-size: 1.5rem;
310
+ }
311
+
312
+ .grid-3 {
313
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
314
+ }
315
+ }
316
+
317
+ @media screen and (max-width: 768px) {
318
+ .container {
319
+ padding: 2rem 1.5rem;
320
+ gap: 2rem;
321
+ min-height: auto;
322
+ }
323
+
324
+ .content {
325
+ padding: 2rem;
326
+ border-radius: var(--radius-xl);
327
+ }
328
+
329
+ .logo {
330
+ max-width: 220px;
331
+ margin-bottom: 1.5rem;
332
+ }
333
+
334
+ .intro {
335
+ font-size: 0.95rem;
336
+ margin-bottom: 1.5rem;
337
+ }
338
+
339
+ .social-icons {
340
+ gap: 1rem;
341
+ font-size: 1.1rem;
342
+ }
343
+
344
+ .social-icons a {
345
+ width: 40px;
346
+ height: 40px;
347
+ }
348
+
349
+ .character img {
350
+ max-height: 60vh;
351
+ }
352
+
353
+ h1 {
354
+ font-size: 1.5rem;
355
+ }
356
+
357
+ h2 {
358
+ font-size: 1.25rem;
359
+ }
360
+
361
+ h3 {
362
+ font-size: 1.1rem;
363
+ }
364
+
365
+ .section {
366
+ padding: 2rem 1rem;
367
+ }
368
+
369
+ .card {
370
+ padding: 1.5rem;
371
+ }
372
+
373
+ .grid-2,
374
+ .grid-3,
375
+ .grid-4 {
376
+ grid-template-columns: 1fr;
377
+ }
378
+
379
+ .navbar-content {
380
+ flex-direction: column;
381
+ gap: 1rem;
382
+ padding: 1rem;
383
+ }
384
+
385
+ .navbar-links {
386
+ gap: 1rem;
387
+ justify-content: center;
388
+ width: 100%;
389
+ }
390
+
391
+ .navbar-links a {
392
+ font-size: 0.9rem;
393
+ }
394
+ }
395
+
396
+ /* ========== CONTENT OVERLAYS & SPECIAL EFFECTS ========== */
397
+
398
+ .gallery-item.nsfw-content {
399
+ position: relative;
400
+ overflow: hidden;
401
+ cursor: pointer;
402
+ }
403
+
404
+ .gallery-item.nsfw-content img {
405
+ filter: blur(15px) !important;
406
+ transition: filter var(--transition-normal);
407
+ cursor: pointer;
408
+ pointer-events: none;
409
+ }
410
+
411
+ .gallery-item.nsfw-content::before {
412
+ content: '';
413
+ position: absolute;
414
+ top: 0;
415
+ left: 0;
416
+ width: 100%;
417
+ height: 100%;
418
+ background: rgba(0, 0, 0, 0.5);
419
+ z-index: 10;
420
+ transition: all var(--transition-normal);
421
+ cursor: pointer;
422
+ }
423
+
424
+ .gallery-item.nsfw-content::after {
425
+ content: '18+ - Click to view';
426
+ position: absolute;
427
+ top: 50%;
428
+ left: 50%;
429
+ transform: translate(-50%, -50%);
430
+ z-index: 11;
431
+ background: rgba(217, 79, 144, 0.95);
432
+ color: #fff;
433
+ padding: 1rem 1.5rem;
434
+ border-radius: var(--radius-lg);
435
+ font-size: 0.95rem;
436
+ font-weight: 700;
437
+ white-space: nowrap;
438
+ pointer-events: none;
439
+ transition: all var(--transition-normal);
440
+ text-align: center;
441
+ letter-spacing: 0.5px;
442
+ }
443
+
444
+ .gallery-item.nsfw-content:hover::before {
445
+ background: rgba(0, 0, 0, 0.7);
446
+ }
447
+
448
+ .gallery-item.nsfw-content:hover::after {
449
+ transform: translate(-50%, -50%) scale(1.1);
450
+ box-shadow: 0 4px 16px rgba(217, 79, 144, 0.4);
451
+ }
452
+
453
+ .gallery-item.nsfw-content.revealed img {
454
+ filter: blur(0) !important;
455
+ }
456
+
457
+ .gallery-item.nsfw-content.revealed::before,
458
+ .gallery-item.nsfw-content.revealed::after {
459
+ display: none !important;
460
+ }
461
+
462
+ /* ========== LIGHTBOX ========== */
463
+
464
+ .lightbox:fullscreen .gallery-item.nsfw-content img,
465
+ .lightbox:-webkit-full-screen .gallery-item.nsfw-content img {
466
+ filter: blur(0) !important;
467
+ }
468
+
469
+ .lightbox:fullscreen .gallery-item.nsfw-content::before,
470
+ .lightbox:-webkit-full-screen .gallery-item.nsfw-content::before,
471
+ .lightbox:fullscreen .gallery-item.nsfw-content::after,
472
+ .lightbox:-webkit-full-screen .gallery-item.nsfw-content::after {
473
+ display: none !important;
474
+ }
475
+
476
+ .lightbox.fullscreen-active img {
477
+ filter: blur(0) !important;
478
+ }
@@ -0,0 +1,198 @@
1
+ /* typography.css — Font hierarchy and text styles */
2
+
3
+ body {
4
+ margin: 0;
5
+ padding: 0;
6
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
7
+ color: var(--text);
8
+ font-size: 1rem;
9
+ line-height: 1.7;
10
+ background-attachment: fixed;
11
+ min-height: 100vh;
12
+ overflow-x: hidden;
13
+ position: relative;
14
+ }
15
+
16
+ /* ========== HEADING HIERARCHY ========== */
17
+
18
+ h1 {
19
+ font-size: 2.5rem;
20
+ font-weight: 700;
21
+ margin-bottom: 1rem;
22
+ letter-spacing: -0.5px;
23
+ line-height: 1.2;
24
+ }
25
+
26
+ h2 {
27
+ font-size: 2rem;
28
+ font-weight: 700;
29
+ margin-bottom: 1rem;
30
+ letter-spacing: -0.3px;
31
+ line-height: 1.3;
32
+ }
33
+
34
+ h3 {
35
+ font-size: 1.5rem;
36
+ font-weight: 600;
37
+ margin-bottom: 0.75rem;
38
+ letter-spacing: -0.2px;
39
+ line-height: 1.4;
40
+ }
41
+
42
+ h4 {
43
+ font-size: 1.25rem;
44
+ font-weight: 600;
45
+ margin-bottom: 0.5rem;
46
+ line-height: 1.5;
47
+ }
48
+
49
+ h5 {
50
+ font-size: 1.1rem;
51
+ font-weight: 600;
52
+ margin-bottom: 0.5rem;
53
+ }
54
+
55
+ h6 {
56
+ font-size: 1rem;
57
+ font-weight: 600;
58
+ margin-bottom: 0.5rem;
59
+ }
60
+
61
+ /* ========== PARAGRAPH & TEXT ========== */
62
+
63
+ p {
64
+ line-height: 1.7;
65
+ margin-bottom: 1rem;
66
+ }
67
+
68
+ a {
69
+ color: var(--accent);
70
+ text-decoration: none;
71
+ transition: color var(--transition-normal);
72
+ }
73
+
74
+ a:hover {
75
+ color: var(--accent-light);
76
+ text-decoration: underline;
77
+ }
78
+
79
+ /* ========== LISTS ========== */
80
+
81
+ ul,
82
+ ol {
83
+ margin-bottom: 1.5rem;
84
+ padding-left: 1.5rem;
85
+ }
86
+
87
+ li {
88
+ margin-bottom: 0.5rem;
89
+ }
90
+
91
+ /* ========== CODE & PREFORMATTED ========== */
92
+
93
+ code {
94
+ background: rgba(217, 79, 144, 0.15);
95
+ padding: 0.25rem 0.5rem;
96
+ border-radius: var(--radius-sm);
97
+ font-family: 'Monaco', 'Courier New', monospace;
98
+ font-size: 0.9rem;
99
+ color: var(--accent-light);
100
+ }
101
+
102
+ pre {
103
+ background: rgba(20, 12, 40, 0.8);
104
+ padding: 1rem;
105
+ border-radius: var(--radius-lg);
106
+ border: 1px solid var(--border);
107
+ overflow-x: auto;
108
+ line-height: 1.5;
109
+ margin-bottom: 1.5rem;
110
+ }
111
+
112
+ pre code {
113
+ background: none;
114
+ padding: 0;
115
+ color: var(--text);
116
+ font-size: 0.95rem;
117
+ }
118
+
119
+ /* ========== BLOCKQUOTE ========== */
120
+
121
+ blockquote {
122
+ border-left: 4px solid var(--accent);
123
+ padding-left: 1.5rem;
124
+ margin: 1.5rem 0;
125
+ color: var(--text-secondary);
126
+ font-style: italic;
127
+ }
128
+
129
+ /* ========== STRONG & EMPHASIS ========== */
130
+
131
+ strong,
132
+ b {
133
+ font-weight: 700;
134
+ color: var(--text);
135
+ }
136
+
137
+ em,
138
+ i {
139
+ font-style: italic;
140
+ }
141
+
142
+ /* ========== MARK ========== */
143
+
144
+ mark {
145
+ background: rgba(217, 79, 144, 0.3);
146
+ padding: 0.2rem 0.4rem;
147
+ border-radius: var(--radius-sm);
148
+ }
149
+
150
+ /* ========== SMALL TEXT ========== */
151
+
152
+ small {
153
+ font-size: 0.875rem;
154
+ color: var(--text-secondary);
155
+ }
156
+
157
+ /* ========== HORIZONTAL RULE ========== */
158
+
159
+ hr {
160
+ border: none;
161
+ height: 1px;
162
+ background: linear-gradient(90deg, transparent, var(--border), transparent);
163
+ margin: 2rem 0;
164
+ }
165
+
166
+ /* ========== RESPONSIVENESS ========== */
167
+
168
+ @media screen and (max-width: 1024px) {
169
+ h1 {
170
+ font-size: 2rem;
171
+ }
172
+
173
+ h2 {
174
+ font-size: 1.5rem;
175
+ }
176
+
177
+ h3 {
178
+ font-size: 1.25rem;
179
+ }
180
+ }
181
+
182
+ @media screen and (max-width: 768px) {
183
+ h1 {
184
+ font-size: 1.5rem;
185
+ }
186
+
187
+ h2 {
188
+ font-size: 1.25rem;
189
+ }
190
+
191
+ h3 {
192
+ font-size: 1.1rem;
193
+ }
194
+
195
+ p {
196
+ font-size: 0.95rem;
197
+ }
198
+ }