broadfield-dev commited on
Commit
6197a2f
·
verified ·
1 Parent(s): 6be6c5f

Create static/styles.css

Browse files
Files changed (1) hide show
  1. static/styles.css +328 -0
static/styles.css ADDED
@@ -0,0 +1,328 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ font-family: 'Roboto', sans-serif;
3
+ margin: 0;
4
+ padding: 0;
5
+ transition: background 0.3s, color 0.3s;
6
+ }
7
+
8
+ /* Dark Mode (Default) */
9
+ body.dark-mode {
10
+ background: linear-gradient(to bottom right, #1A252F, #2C3E50);
11
+ color: #E0E6ED;
12
+ }
13
+
14
+ body.dark-mode .input-section,
15
+ body.dark-mode .markdown-section,
16
+ body.dark-mode .preview-section {
17
+ background: #2F4054;
18
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
19
+ }
20
+
21
+ body.dark-mode input[type="text"],
22
+ body.dark-mode input[type="file"] {
23
+ background: #3A5063;
24
+ color: #FFFFFF;
25
+ border: 1px solid #4A6FA5;
26
+ }
27
+
28
+ body.dark-mode input[type="text"]:focus,
29
+ body.dark-mode input[type="file"]:focus {
30
+ border-color: #A66F3A;
31
+ }
32
+
33
+ body.dark-mode button {
34
+ background: linear-gradient(to right, #3498DB, #2C7DB2);
35
+ box-shadow: inset 0 0 5px rgba(52, 152, 219, 0.3);
36
+ }
37
+
38
+ body.dark-mode button:hover {
39
+ background: linear-gradient(to right, #2C7DB2, #3498DB);
40
+ box-shadow: inset 0 0 8px rgba(52, 152, 219, 0.5);
41
+ }
42
+
43
+ body.dark-mode #downloadBtn {
44
+ background: linear-gradient(to right, #8B5A2B, #7F4D1A);
45
+ box-shadow: inset 0 0 5px rgba(139, 90, 43, 0.3);
46
+ }
47
+
48
+ body.dark-mode #downloadBtn:hover {
49
+ background: linear-gradient(to right, #7F4D1A, #8B5A2B);
50
+ box-shadow: inset 0 0 8px rgba(139, 90, 43, 0.5);
51
+ }
52
+
53
+ body.dark-mode textarea {
54
+ background: #3A5063;
55
+ color: #FFFFFF;
56
+ border: 1px solid #4A6FA5;
57
+ }
58
+
59
+ body.dark-mode #output {
60
+ background: #3A5063;
61
+ }
62
+
63
+ body.dark-mode #output h1, body.dark-mode #output h2, body.dark-mode #output h3 {
64
+ color: #FFFFFF;
65
+ font-weight: 500;
66
+ letter-spacing: 0.5px;
67
+ }
68
+
69
+ body.dark-mode #output code,
70
+ body.dark-mode #output pre {
71
+ background: #2C3E50;
72
+ }
73
+
74
+ body.dark-mode .spinner {
75
+ border: 4px solid #2F4054;
76
+ border-top: 4px solid #E0E6ED;
77
+ }
78
+
79
+ /* Light Mode */
80
+ body.light-mode {
81
+ background: linear-gradient(to bottom right, #f0f4f8, #d9e2ec);
82
+ color: #333;
83
+ }
84
+
85
+ body.light-mode .input-section,
86
+ body.light-mode .markdown-section,
87
+ body.light-mode .preview-section {
88
+ background: white;
89
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
90
+ }
91
+
92
+ body.light-mode input[type="text"],
93
+ body.light-mode input[type="file"] {
94
+ background: white;
95
+ color: #333;
96
+ border: 1px solid #ccc;
97
+ }
98
+
99
+ body.light-mode input[type="text"]:focus,
100
+ body.light-mode input[type="file"]:focus {
101
+ border-color: #4CAF50;
102
+ }
103
+
104
+ body.light-mode button {
105
+ background: linear-gradient(to right, #4CAF50, #45a049);
106
+ }
107
+
108
+ body.light-mode button:hover {
109
+ background: linear-gradient(to right, #45a049, #4CAF50);
110
+ }
111
+
112
+ body.light-mode #downloadBtn {
113
+ background: linear-gradient(to right, #3498db, #2980b9);
114
+ }
115
+
116
+ body.light-mode #downloadBtn:hover {
117
+ background: linear-gradient(to right, #2980b9, #3498db);
118
+ }
119
+
120
+ body.light-mode textarea {
121
+ background: white;
122
+ color: #333;
123
+ border: 1px solid #ccc;
124
+ }
125
+
126
+ body.light-mode #output {
127
+ background: white;
128
+ }
129
+
130
+ body.light-mode #output h1, body.light-mode #output h2, body.light-mode #output h3 {
131
+ color: #333;
132
+ }
133
+
134
+ body.light-mode #output code,
135
+ body.light-mode #output pre {
136
+ background: #f4f4f4;
137
+ }
138
+
139
+ body.light-mode .spinner {
140
+ border: 4px solid #f3f3f3;
141
+ border-top: 4px solid #3498db;
142
+ }
143
+
144
+ /* Common Styles */
145
+ .container {
146
+ max-width: 1200px;
147
+ margin: 20px auto;
148
+ padding: 20px;
149
+ position: relative;
150
+ }
151
+
152
+ .input-section, .markdown-section, .preview-section {
153
+ border-radius: 10px;
154
+ padding: 20px;
155
+ margin-bottom: 20px;
156
+ transition: background 0.3s, box-shadow 0.3s;
157
+ }
158
+
159
+ input[type="text"], input[type="file"] {
160
+ width: 100%;
161
+ padding: 10px;
162
+ margin: 10px 0;
163
+ border-radius: 5px;
164
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
165
+ transition: border-color 0.3s;
166
+ }
167
+
168
+ button {
169
+ padding: 10px 20px;
170
+ color: white;
171
+ border: none;
172
+ border-radius: 5px;
173
+ cursor: pointer;
174
+ margin: 5px;
175
+ transition: background 0.3s, transform 0.1s, box-shadow 0.3s;
176
+ }
177
+
178
+ button:active {
179
+ transform: scale(0.97) translateY(2px);
180
+ box-shadow: none;
181
+ }
182
+
183
+ .spinner {
184
+ display: none;
185
+ border-radius: 50%;
186
+ width: 30px;
187
+ height: 30px;
188
+ animation: spin 1s linear infinite;
189
+ margin: 20px auto;
190
+ }
191
+
192
+ @keyframes spin {
193
+ 0% { transform: rotate(0deg); }
194
+ 100% { transform: rotate(360deg); }
195
+ }
196
+
197
+ .output-container {
198
+ display: flex;
199
+ flex-wrap: wrap;
200
+ gap: 20px;
201
+ }
202
+
203
+ .markdown-section, .preview-section {
204
+ flex: 1;
205
+ min-width: 300px;
206
+ }
207
+
208
+ textarea {
209
+ width: 100%;
210
+ height: 400px; /* This will be dynamically adjusted by JavaScript */
211
+ margin-top: 10px;
212
+ padding: 10px;
213
+ border-radius: 5px;
214
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
215
+ font-family: monospace;
216
+ resize: vertical;
217
+ transition: background 0.3s, color 0.3s, border 0.3s;
218
+ }
219
+
220
+ #output {
221
+ margin-top: 10px;
222
+ padding: 10px;
223
+ max-height: 600px;
224
+ overflow-y: auto;
225
+ border-radius: 5px;
226
+ border: 1px solid #4A6FA5;
227
+ transition: background 0.3s, border 0.3s;
228
+ }
229
+
230
+ #output code {
231
+ padding: 2px 4px;
232
+ border-radius: 3px;
233
+ }
234
+
235
+ #output pre {
236
+ padding: 10px;
237
+ border-radius: 5px;
238
+ overflow-x: auto;
239
+ }
240
+
241
+ .fade-in {
242
+ animation: fadeIn 0.5s ease-in;
243
+ }
244
+
245
+ @keyframes fadeIn {
246
+ from { opacity: 0; transform: scale(0.98); }
247
+ to { opacity: 1; transform: scale(1.02); }
248
+ }
249
+
250
+ /* Toggle Switch */
251
+ .mode-toggle {
252
+ position: absolute;
253
+ top: 20px;
254
+ right: 20px;
255
+ display: flex;
256
+ align-items: center;
257
+ }
258
+
259
+ .mode-toggle label {
260
+ margin-left: 10px;
261
+ font-size: 14px;
262
+ color: #E0E6ED;
263
+ }
264
+
265
+ .switch {
266
+ position: relative;
267
+ display: inline-block;
268
+ width: 50px;
269
+ height: 24px;
270
+ }
271
+
272
+ .switch input {
273
+ opacity: 0;
274
+ width: 0;
275
+ height: 0;
276
+ }
277
+
278
+ .slider {
279
+ position: absolute;
280
+ cursor: pointer;
281
+ top: 0;
282
+ left: 0;
283
+ right: 0;
284
+ bottom: 0;
285
+ background: #7F8C8D;
286
+ transition: 0.3s;
287
+ border-radius: 24px;
288
+ }
289
+
290
+ .slider:before {
291
+ position: absolute;
292
+ content: "";
293
+ height: 18px;
294
+ width: 18px;
295
+ left: 3px;
296
+ bottom: 3px;
297
+ background: #ECF0F1;
298
+ transition: 0.3s;
299
+ border-radius: 50%;
300
+ }
301
+
302
+ input:checked + .slider {
303
+ background: #4CAF50;
304
+ }
305
+
306
+ input:checked + .slider:before {
307
+ transform: translateX(26px);
308
+ }
309
+
310
+ /* Copy Button */
311
+ .copy-button {
312
+ padding: 8px 16px;
313
+ background: #3498DB;
314
+ color: white;
315
+ border: none;
316
+ border-radius: 5px;
317
+ cursor: pointer;
318
+ margin-left: 10px;
319
+ transition: background 0.3s, transform 0.1s;
320
+ }
321
+
322
+ .copy-button:hover {
323
+ background: #2C7DB2;
324
+ }
325
+
326
+ .copy-button:active {
327
+ transform: scale(0.97) translateY(2px);
328
+ }