-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.css
More file actions
103 lines (97 loc) · 2.36 KB
/
index.css
File metadata and controls
103 lines (97 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
body {
background-color: #050404;
color: #e7e5e4;
font-family: 'Noto Serif SC', 'Special Elite', serif;
overflow-x: hidden;
}
.font-tech {
font-family: 'Share Tech Mono', monospace;
}
.font-title {
font-family: 'Cinzel', serif;
}
/* CRT Scanline */
.scanline {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: linear-gradient(
to bottom,
rgba(255,255,255,0),
rgba(255,255,255,0) 50%,
rgba(0,0,0,0.2) 50%,
rgba(0,0,0,0.2)
);
background-size: 100% 4px;
pointer-events: none;
z-index: 50;
opacity: 0.6;
animation: scanlineScroll 0.5s linear infinite;
}
@keyframes scanlineScroll {
0% { background-position: 0 0; }
100% { background-position: 0 4px; }
}
/* Vignette & Noise */
.vignette {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(0,0,0,0) 50%, rgba(0,0,0,0.9) 100%);
pointer-events: none;
z-index: 40;
}
/* Glitch Effect Classes */
.glitch-text {
position: relative;
display: inline-block;
}
.glitch-text::before,
.glitch-text::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #0c0a09;
}
.glitch-text::before {
left: 2px;
text-shadow: -1px 0 #ff0000;
clip: rect(44px, 450px, 56px, 0);
animation: glitch-anim-1 5s infinite linear alternate-reverse;
}
.glitch-text::after {
left: -2px;
text-shadow: -1px 0 #00ff00;
clip: rect(44px, 450px, 56px, 0);
animation: glitch-anim-2 5s infinite linear alternate-reverse;
}
@keyframes glitch-anim-1 {
0% { clip: rect(20px, 9999px, 11px, 0); }
20% { clip: rect(68px, 9999px, 89px, 0); }
40% { clip: rect(15px, 9999px, 92px, 0); }
60% { clip: rect(54px, 9999px, 2px, 0); }
80% { clip: rect(32px, 9999px, 60px, 0); }
100% { clip: rect(8px, 9999px, 76px, 0); }
}
@keyframes glitch-anim-2 {
0% { clip: rect(65px, 9999px, 95px, 0); }
20% { clip: rect(4px, 9999px, 5px, 0); }
40% { clip: rect(88px, 9999px, 20px, 0); }
60% { clip: rect(12px, 9999px, 66px, 0); }
80% { clip: rect(79px, 9999px, 44px, 0); }
100% { clip: rect(56px, 9999px, 15px, 0); }
}
.painting-filter {
filter: contrast(1.3) sepia(0.2) saturate(0.6) brightness(0.6) grayscale(0.2);
}
/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: #333; }