Size
10.9 KB
Version
1.1.2
Created
Mar 11, 2026
Updated
about 1 month ago
1// ==UserScript==
2// @name Extension for docs.google.com
3// @description A new extension
4// @version 1.1.2
5// @match https://*.docs.google.com/*
6// @icon https://ssl.gstatic.com/docs/presentations/images/favicon-2023q4.ico
7// ==/UserScript==
8(function() {
9 'use strict';
10
11 // Add intense cyberpunk hacker theme
12 TM_addStyle(`
13 /* CYBERPUNK HACKER THEME - OVERWHELMING NEON */
14 @import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');
15
16 :root {
17 --hacker-green: #00ff41;
18 --neon-green: #39ff14;
19 --cyber-cyan: #00ffff;
20 --matrix-green: #00ff00;
21 --dark-void: #000000;
22 --deep-black: #0d0208;
23 --cyber-purple: #ff00ff;
24 --warning-red: #ff0040;
25 }
26
27 /* OVERWHELMING BACKGROUND */
28 body {
29 background: #000000 !important;
30 background-image:
31 repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 255, 65, 0.03) 2px, rgba(0, 255, 65, 0.03) 4px),
32 repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(0, 255, 65, 0.03) 2px, rgba(0, 255, 65, 0.03) 4px) !important;
33 }
34
35 /* MATRIX RAIN EFFECT ON BODY */
36 body::before {
37 content: '';
38 position: fixed;
39 top: 0;
40 left: 0;
41 width: 100%;
42 height: 100%;
43 background:
44 linear-gradient(transparent 0%, rgba(0, 255, 65, 0.05) 50%, transparent 100%),
45 radial-gradient(circle at 20% 50%, rgba(0, 255, 255, 0.1) 0%, transparent 50%),
46 radial-gradient(circle at 80% 80%, rgba(255, 0, 255, 0.1) 0%, transparent 50%);
47 pointer-events: none;
48 z-index: -1;
49 animation: matrixPulse 3s ease-in-out infinite;
50 }
51
52 @keyframes matrixPulse {
53 0%, 100% { opacity: 0.3; }
54 50% { opacity: 0.6; }
55 }
56
57 /* READABLE TEXT WITH GLOW */
58 body, p, span, div, li, label, td {
59 color: var(--hacker-green) !important;
60 text-shadow: 0 0 3px rgba(0, 255, 65, 0.8) !important;
61 }
62
63 /* OVERWHELMING BUTTON EFFECTS */
64 button, .btn, [role="button"], input[type="button"], input[type="submit"] {
65 background: rgba(0, 0, 0, 0.9) !important;
66 border: 2px solid var(--hacker-green) !important;
67 color: var(--hacker-green) !important;
68 font-family: 'Share Tech Mono', monospace !important;
69 font-weight: bold !important;
70 text-transform: uppercase !important;
71 letter-spacing: 2px !important;
72 box-shadow:
73 0 0 10px var(--hacker-green),
74 0 0 20px var(--hacker-green),
75 0 0 30px var(--hacker-green),
76 inset 0 0 10px rgba(0, 255, 65, 0.3) !important;
77 transition: all 0.2s ease !important;
78 position: relative !important;
79 overflow: hidden !important;
80 }
81
82 button::before, .btn::before, [role="button"]::before {
83 content: '';
84 position: absolute;
85 top: -50%;
86 left: -50%;
87 width: 200%;
88 height: 200%;
89 background: linear-gradient(45deg, transparent, rgba(0, 255, 65, 0.3), transparent);
90 animation: buttonScan 2s linear infinite;
91 }
92
93 @keyframes buttonScan {
94 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
95 100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
96 }
97
98 button:hover, .btn:hover, [role="button"]:hover {
99 background: var(--hacker-green) !important;
100 color: #000000 !important;
101 text-shadow: 0 0 5px #000000 !important;
102 box-shadow:
103 0 0 20px var(--hacker-green),
104 0 0 40px var(--hacker-green),
105 0 0 60px var(--hacker-green),
106 0 0 80px var(--hacker-green),
107 inset 0 0 20px rgba(0, 0, 0, 0.5) !important;
108 transform: scale(1.05) !important;
109 }
110
111 /* HACKER HEADINGS */
112 h1, h2, h3, h4, h5, h6 {
113 color: var(--hacker-green) !important;
114 font-family: 'Share Tech Mono', monospace !important;
115 text-transform: uppercase !important;
116 letter-spacing: 4px !important;
117 text-shadow:
118 0 0 10px var(--hacker-green),
119 0 0 20px var(--hacker-green),
120 0 0 30px var(--hacker-green) !important;
121 animation: glitchText 3s ease-in-out infinite;
122 position: relative !important;
123 }
124
125 @keyframes glitchText {
126 0%, 90%, 100% { transform: translate(0); }
127 92% { transform: translate(-2px, 2px); }
128 94% { transform: translate(2px, -2px); }
129 96% { transform: translate(-2px, -2px); }
130 98% { transform: translate(2px, 2px); }
131 }
132
133 /* CYBERPUNK CONTAINERS */
134 .card, .container, [class*="card"], [class*="panel"], div[class*="container"] {
135 background: rgba(0, 0, 0, 0.95) !important;
136 border: 2px solid var(--hacker-green) !important;
137 box-shadow:
138 0 0 20px var(--hacker-green),
139 0 0 40px rgba(0, 255, 65, 0.5),
140 inset 0 0 20px rgba(0, 255, 65, 0.1) !important;
141 border-radius: 0 !important;
142 }
143
144 /* HACKER INPUT FIELDS */
145 input, textarea, select {
146 background: rgba(0, 0, 0, 0.95) !important;
147 border: 2px solid var(--hacker-green) !important;
148 color: var(--hacker-green) !important;
149 font-family: 'Share Tech Mono', monospace !important;
150 box-shadow:
151 0 0 10px var(--hacker-green),
152 inset 0 0 10px rgba(0, 255, 65, 0.2) !important;
153 caret-color: var(--hacker-green) !important;
154 transition: all 0.3s ease !important;
155 }
156
157 input:focus, textarea:focus, select:focus {
158 border-color: var(--cyber-cyan) !important;
159 box-shadow:
160 0 0 20px var(--cyber-cyan),
161 0 0 40px var(--cyber-cyan),
162 inset 0 0 20px rgba(0, 255, 255, 0.3) !important;
163 outline: none !important;
164 animation: inputPulse 1s ease-in-out infinite;
165 }
166
167 @keyframes inputPulse {
168 0%, 100% { box-shadow: 0 0 20px var(--cyber-cyan), inset 0 0 20px rgba(0, 255, 255, 0.3); }
169 50% { box-shadow: 0 0 40px var(--cyber-cyan), 0 0 60px var(--cyber-cyan), inset 0 0 30px rgba(0, 255, 255, 0.5); }
170 }
171
172 /* CYBERPUNK LINKS */
173 a {
174 color: var(--cyber-cyan) !important;
175 text-decoration: none !important;
176 font-family: 'Share Tech Mono', monospace !important;
177 text-shadow:
178 0 0 5px var(--cyber-cyan),
179 0 0 10px var(--cyber-cyan) !important;
180 transition: all 0.2s ease !important;
181 position: relative !important;
182 }
183
184 a::before {
185 content: '> ';
186 color: var(--hacker-green);
187 }
188
189 a:hover {
190 color: var(--hacker-green) !important;
191 text-shadow:
192 0 0 10px var(--hacker-green),
193 0 0 20px var(--hacker-green),
194 0 0 30px var(--hacker-green) !important;
195 transform: translateX(5px) !important;
196 }
197
198 /* MATRIX SCROLLBAR */
199 ::-webkit-scrollbar {
200 width: 15px;
201 background: #000000;
202 border-left: 2px solid var(--hacker-green);
203 }
204
205 ::-webkit-scrollbar-track {
206 background: #000000;
207 box-shadow: inset 0 0 10px var(--hacker-green);
208 }
209
210 ::-webkit-scrollbar-thumb {
211 background: linear-gradient(180deg, var(--hacker-green), var(--cyber-cyan), var(--hacker-green));
212 border: 2px solid #000000;
213 box-shadow:
214 0 0 10px var(--hacker-green),
215 0 0 20px var(--hacker-green),
216 inset 0 0 10px rgba(0, 255, 65, 0.5);
217 }
218
219 ::-webkit-scrollbar-thumb:hover {
220 background: var(--hacker-green);
221 box-shadow:
222 0 0 20px var(--hacker-green),
223 0 0 40px var(--hacker-green),
224 0 0 60px var(--hacker-green);
225 }
226
227 /* GLITCH DIVIDERS */
228 hr {
229 border: none !important;
230 height: 3px !important;
231 background: var(--hacker-green) !important;
232 box-shadow:
233 0 0 10px var(--hacker-green),
234 0 0 20px var(--hacker-green),
235 0 0 30px var(--hacker-green) !important;
236 animation: hrGlitch 2s ease-in-out infinite;
237 }
238
239 @keyframes hrGlitch {
240 0%, 90%, 100% { opacity: 1; }
241 92%, 96% { opacity: 0.5; }
242 94%, 98% { opacity: 1; }
243 }
244
245 /* HACKER SELECTION */
246 ::selection {
247 background: var(--hacker-green) !important;
248 color: #000000 !important;
249 text-shadow: none !important;
250 }
251
252 /* CYBERPUNK TABLES */
253 table, th, td {
254 border: 1px solid var(--hacker-green) !important;
255 background: rgba(0, 0, 0, 0.9) !important;
256 color: var(--hacker-green) !important;
257 }
258
259 th {
260 background: rgba(0, 255, 65, 0.2) !important;
261 text-transform: uppercase !important;
262 letter-spacing: 2px !important;
263 box-shadow: 0 0 10px var(--hacker-green) !important;
264 }
265
266 tr:hover {
267 background: rgba(0, 255, 65, 0.1) !important;
268 box-shadow: inset 0 0 20px rgba(0, 255, 65, 0.3) !important;
269 }
270
271 /* SCANLINE EFFECT - OPTIMIZED */
272 body::after {
273 content: '';
274 position: fixed;
275 top: 0;
276 left: 0;
277 width: 100%;
278 height: 100%;
279 background: repeating-linear-gradient(
280 0deg,
281 rgba(0, 0, 0, 0.15),
282 rgba(0, 0, 0, 0.15) 1px,
283 transparent 1px,
284 transparent 2px
285 );
286 pointer-events: none;
287 z-index: 9999;
288 animation: scanlines 8s linear infinite;
289 }
290
291 @keyframes scanlines {
292 0% { transform: translateY(0); }
293 100% { transform: translateY(10px); }
294 }
295 `);
296
297 console.log('> CYBERPUNK HACKER THEME ACTIVATED');
298 console.log('> SYSTEM STATUS: OVERWHELMING');
299 console.log('> NEON LEVELS: MAXIMUM');
300 console.log('> PERFORMANCE: OPTIMIZED');
301})();