Diff of /web/server/server.css [000000] .. [8c4ad8]

Switch to unified view

a b/web/server/server.css
1
/* Server Page Custom Styles */
2
3
/* Code blocks for server page */
4
.code-block {
5
    background-color: rgba(0, 0, 0, 0.3);
6
    border-radius: var(--radius-md);
7
    padding: 1rem;
8
    margin: 1rem 0;
9
    position: relative;
10
    font-family: var(--font-mono);
11
    font-size: 0.9rem;
12
    overflow-x: auto;
13
    color: rgba(255, 255, 255, 0.9);
14
    border: 1px solid rgba(255, 255, 255, 0.1);
15
}
16
17
.copy-button {
18
    position: absolute;
19
    top: 0.5rem;
20
    right: 0.5rem;
21
    background: rgba(255, 255, 255, 0.1);
22
    border: none;
23
    color: rgba(255, 255, 255, 0.7);
24
    padding: 0.3rem 0.6rem;
25
    border-radius: 4px;
26
    cursor: pointer;
27
    font-size: 0.8rem;
28
    transition: all 0.2s ease;
29
}
30
31
.copy-button:hover {
32
    background: rgba(255, 255, 255, 0.2);
33
    color: white;
34
}
35
36
.copy-button.success {
37
    background: rgba(0, 200, 83, 0.2);
38
    color: #00c853;
39
}
40
41
.copy-button.error {
42
    background: rgba(244, 67, 54, 0.2);
43
    color: #f44336;
44
}
45
46
/* Status Value styling */
47
.status-value {
48
    font-size: 1.8rem;
49
    font-weight: 600;
50
    margin: 0.5rem 0;
51
    color: rgba(255, 255, 255, 0.9);
52
}
53
54
/* Status indicators */
55
.status-indicator {
56
    display: flex;
57
    align-items: center;
58
    justify-content: center;
59
    gap: 1rem;
60
}
61
62
.status-dot {
63
    width: 16px;
64
    height: 16px;
65
    border-radius: 50%;
66
}
67
68
.online .status-dot {
69
    background: #00c853;
70
    box-shadow: 0 0 10px rgba(0, 200, 83, 0.5);
71
}
72
73
.offline .status-dot {
74
    background: #f44336;
75
    box-shadow: 0 0 10px rgba(244, 67, 54, 0.5);
76
}
77
78
.status-main {
79
    font-weight: 600;
80
    font-size: 1.2rem;
81
}
82
83
.online .status-main {
84
    color: #00c853;
85
}
86
87
.offline .status-main {
88
    color: #f44336;
89
}
90
91
.status-info {
92
    display: flex;
93
    flex-direction: column;
94
    font-size: 0.85rem;
95
    color: rgba(255, 255, 255, 0.7);
96
    margin-top: 0.5rem;
97
}
98
99
/* Troubleshooting section */
100
#troubleshooting {
101
    opacity: 1;
102
    transition: all 0.5s ease;
103
}
104
105
#troubleshooting.active {
106
    animation: pulse 1s ease;
107
}
108
109
@keyframes pulse {
110
    0% { opacity: 0.7; }
111
    50% { opacity: 1; }
112
    100% { opacity: 0.7; }
113
}5rem;
114
    margin-bottom: 1.5rem;
115
}
116
117
.server-hero-content p {
118
    font-size: 1.2rem;
119
    color: rgba(255, 255, 255, 0.9);
120
    max-width: 800px;
121
    margin: 0 auto;
122
    line-height: 1.8;
123
}
124
125
/* Status Cards Section */
126
.status-section {
127
    margin: 4rem 0;
128
    padding: 2rem;
129
    background: rgba(0, 0, 0, 0.2);
130
    border-radius: 12px;
131
    border: 1px solid rgba(255, 255, 255, 0.1);
132
}
133
134
.status-grid {
135
    display: grid;
136
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
137
    gap: 2rem;
138
    margin-top: 1rem;
139
}
140
141
.status-card {
142
    background: rgba(255, 255, 255, 0.05);
143
    border: 1px solid rgba(255, 255, 255, 0.1);
144
    border-radius: 12px;
145
    padding: 2rem;
146
    text-align: center;
147
    transition: all 0.3s ease;
148
}
149
150
.status-card:hover {
151
    transform: translateY(-5px);
152
    background: rgba(255, 255, 255, 0.08);
153
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
154
    border-color: rgba(255, 255, 255, 0.15);
155
}
156
157
.status-icon {
158
    font-size: 2rem;
159
    margin-bottom: 1rem;
160
    background: linear-gradient(135deg, var(--magenta), var(--blue));
161
    -webkit-background-clip: text;
162
    background-clip: text;
163
    -webkit-text-fill-color: transparent;
164
}
165
166
.status-card h3 {
167
    font-size: 1.3rem;
168
    margin-bottom: 1rem;
169
    color: var(--white);
170
}
171
172
.status-value {
173
    font-size: 1.8rem;
174
    font-weight: 600;
175
    margin-bottom: 0.5rem;
176
    color: rgba(255, 255, 255, 0.9);
177
}
178
179
.status-label {
180
    color: rgba(255, 255, 255, 0.7);
181
    font-size: 0.95rem;
182
    margin: 0;
183
}
184
185
/* Status Indicators */
186
.status-indicator {
187
    display: flex;
188
    align-items: center;
189
    justify-content: center;
190
    gap: 1rem;
191
}
192
193
.status-dot {
194
    width: 16px;
195
    height: 16px;
196
    border-radius: 50%;
197
}
198
199
.online .status-dot {
200
    background: #00c853;
201
    box-shadow: 0 0 10px rgba(0, 200, 83, 0.5);
202
}
203
204
.offline .status-dot {
205
    background: #f44336;
206
    box-shadow: 0 0 10px rgba(244, 67, 54, 0.5);
207
}
208
209
.status-main {
210
    font-weight: 600;
211
    font-size: 1.2rem;
212
}
213
214
.online .status-main {
215
    color: #00c853;
216
}
217
218
.offline .status-main {
219
    color: #f44336;
220
}
221
222
.status-info {
223
    display: flex;
224
    flex-direction: column;
225
    font-size: 0.85rem;
226
    color: rgba(255, 255, 255, 0.7);
227
    margin-top: 0.5rem;
228
}
229
230
/* Guide Section */
231
.guide-section {
232
    margin: 4rem 0;
233
    padding: 2rem;
234
    background: rgba(0, 0, 0, 0.2);
235
    border-radius: 12px;
236
    border: 1px solid rgba(255, 255, 255, 0.1);
237
}
238
239
.guide-section h2 {
240
    font-size: 2rem;
241
    margin-bottom: 1.5rem;
242
    background: linear-gradient(135deg, var(--magenta), var(--blue));
243
    -webkit-background-clip: text;
244
    background-clip: text;
245
    -webkit-text-fill-color: transparent;
246
    display: inline-block;
247
}
248
249
.step-list {
250
    display: grid;
251
    gap: 1.5rem;
252
}
253
254
.step-card {
255
    background: rgba(255, 255, 255, 0.05);
256
    border: 1px solid rgba(255, 255, 255, 0.1);
257
    border-radius: 12px;
258
    padding: 1.5rem;
259
    transition: all 0.3s ease;
260
    display: flex;
261
    align-items: flex-start;
262
    gap: 1rem;
263
}
264
265
.step-card:hover {
266
    transform: translateY(-5px);
267
    background: rgba(255, 255, 255, 0.08);
268
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
269
    border-color: rgba(255, 255, 255, 0.15);
270
}
271
272
.step-number {
273
    display: flex;
274
    align-items: center;
275
    justify-content: center;
276
    width: 36px;
277
    height: 36px;
278
    border-radius: 50%;
279
    background: linear-gradient(135deg, var(--magenta), var(--blue));
280
    color: white;
281
    font-weight: 600;
282
    flex-shrink: 0;
283
}
284
285
.step-content {
286
    flex-grow: 1;
287
}
288
289
.step-command {
290
    font-family: 'IBM Plex Mono', monospace;
291
    font-size: 0.95rem;
292
    color: rgba(255, 255, 255, 0.9);
293
    margin-bottom: 0.8rem;
294
    padding: 0.8rem;
295
    background: rgba(0, 0, 0, 0.3);
296
    border-radius: 6px;
297
    overflow-x: auto;
298
    position: relative;
299
}
300
301
.copy-button {
302
    position: absolute;
303
    top: 0.5rem;
304
    right: 0.5rem;
305
    background: rgba(255, 255, 255, 0.1);
306
    border: none;
307
    color: rgba(255, 255, 255, 0.7);
308
    padding: 0.3rem 0.6rem;
309
    border-radius: 4px;
310
    cursor: pointer;
311
    font-size: 0.8rem;
312
    transition: all 0.2s ease;
313
}
314
315
.copy-button:hover {
316
    background: rgba(255, 255, 255, 0.2);
317
    color: white;
318
}
319
320
.copy-button.success {
321
    background: rgba(0, 200, 83, 0.2);
322
    color: #00c853;
323
}
324
325
.copy-button.error {
326
    background: rgba(244, 67, 54, 0.2);
327
    color: #f44336;
328
}
329
330
.step-description {
331
    color: rgba(255, 255, 255, 0.8);
332
    font-size: 0.95rem;
333
    line-height: 1.5;
334
    margin: 0;
335
}
336
337
/* Troubleshooting Section */
338
.troubleshooting-section {
339
    margin: 4rem 0;
340
    opacity: 0.7;
341
    transition: all 0.5s ease;
342
}
343
344
.troubleshooting-section.active {
345
    opacity: 1;
346
}
347
348
.troubleshooting-section h2 {
349
    font-size: 2rem;
350
    margin-bottom: 1.5rem;
351
    background: linear-gradient(135deg, var(--magenta), var(--blue));
352
    -webkit-background-clip: text;
353
    background-clip: text;
354
    -webkit-text-fill-color: transparent;
355
    display: inline-block;
356
}
357
358
.issue-list {
359
    display: grid;
360
    gap: 1.5rem;
361
}
362
363
.issue-card {
364
    background: rgba(255, 255, 255, 0.05);
365
    border: 1px solid rgba(255, 255, 255, 0.1);
366
    border-radius: 12px;
367
    padding: 1.5rem;
368
    transition: all 0.3s ease;
369
}
370
371
.issue-card:hover {
372
    transform: translateY(-5px);
373
    background: rgba(255, 255, 255, 0.08);
374
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
375
    border-color: rgba(255, 255, 255, 0.15);
376
}
377
378
.issue-card h3 {
379
    display: flex;
380
    align-items: center;
381
    gap: 0.8rem;
382
    font-size: 1.3rem;
383
    margin-top: 0;
384
    margin-bottom: 1rem;
385
}
386
387
.issue-card h3 i {
388
    color: var(--magenta);
389
}
390
391
.issue-card p {
392
    color: rgba(255, 255, 255, 0.8);
393
    font-size: 1rem;
394
    line-height: 1.6;
395
    margin-bottom: 1rem;
396
}
397
398
.issue-card ul {
399
    margin: 0;
400
    padding-left: 1.5rem;
401
}
402
403
.issue-card li {
404
    color: rgba(255, 255, 255, 0.8);
405
    margin-bottom: 0.5rem;
406
}
407
408
.issue-command {
409
    font-family: 'IBM Plex Mono', monospace;
410
    font-size: 0.95rem;
411
    color: rgba(255, 255, 255, 0.9);
412
    margin: 1rem 0;
413
    padding: 0.8rem;
414
    background: rgba(0, 0, 0, 0.3);
415
    border-radius: 6px;
416
    overflow-x: auto;
417
}
418
419
/* Responsive Design */
420
@media screen and (max-width: 992px) {
421
    .server-hero-content h1 {
422
        font-size: 3rem;
423
    }
424
}
425
426
@media screen and (max-width: 768px) {
427
    .container {
428
        margin: 4rem 1rem 2rem;
429
        padding: 1rem;
430
    }
431
432
    .server-hero-content h1 {
433
        font-size: 2.5rem;
434
    }
435
436
    .server-hero-content p {
437
        font-size: 1.1rem;
438
    }
439
440
    .status-grid {
441
        grid-template-columns: 1fr;
442
    }
443
444
    .step-command {
445
        font-size: 0.85rem;
446
    }
447
}
448
449
@media screen and (max-width: 480px) {
450
    .server-hero-content h1 {
451
        font-size: 2rem;
452
    }
453
454
    .status-card {
455
        padding: 1.5rem;
456
    }
457
458
    .step-card {
459
        flex-direction: column;
460
    }
461
462
    .step-number {
463
        margin-bottom: 0.5rem;
464
    }
465
}