|
|
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap'); |
|
|
|
|
|
body { |
|
|
position: relative; |
|
|
background: linear-gradient(to bottom, #0f172a, #020617); |
|
|
} |
|
|
|
|
|
|
|
|
body::before { |
|
|
content: ''; |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background-image: |
|
|
linear-gradient(rgba(51, 65, 85, 0.05) 1px, transparent 1px), |
|
|
linear-gradient(90deg, rgba(51, 65, 85, 0.05) 1px, transparent 1px); |
|
|
background-size: 40px 40px; |
|
|
mask-image: radial-gradient(circle at center, transparent 40%, black 80%); |
|
|
pointer-events: none; |
|
|
z-index: 1; |
|
|
} |
|
|
|
|
|
.noise-overlay { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background-image: |
|
|
radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.1) 0%, transparent 20%), |
|
|
radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 0.05) 0%, transparent 40%), |
|
|
radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.05) 0%, transparent 40%), |
|
|
radial-gradient(circle at 50% 100%, rgba(255, 255, 255, 0.1) 0%, transparent 20%); |
|
|
pointer-events: none; |
|
|
z-index: 50; |
|
|
} |
|
|
|
|
|
.scanlines { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background: linear-gradient( |
|
|
to bottom, |
|
|
rgba(255,255,255,0) 0%, |
|
|
rgba(255,255,255,0.006) 50%, |
|
|
rgba(255,255,255,0) 100% |
|
|
); |
|
|
background-size: 100% 3px; |
|
|
pointer-events: none; |
|
|
z-index: 51; |
|
|
} |
|
|
|
|
|
|
|
|
.snow-container { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
pointer-events: none; |
|
|
z-index: 40; |
|
|
} |
|
|
|
|
|
.snowflake { |
|
|
position: absolute; |
|
|
background-color: #4a5568; |
|
|
border-radius: 50%; |
|
|
opacity: 0.3; |
|
|
animation: fall linear infinite; |
|
|
} |
|
|
|
|
|
@keyframes fall { |
|
|
to { |
|
|
transform: translateY(100vh); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.terminal-card { |
|
|
background: rgba(10, 12, 16, 0.8); |
|
|
border: 1px solid #4a5568; |
|
|
border-image: linear-gradient(45deg, transparent, #4a5568, transparent) 1; |
|
|
position: relative; |
|
|
backdrop-filter: blur(10px); |
|
|
} |
|
|
|
|
|
.terminal-card::before { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
top: 2px; |
|
|
left: 2px; |
|
|
right: 2px; |
|
|
bottom: 2px; |
|
|
border: 1px solid rgba(255, 159, 28, 0.1); |
|
|
pointer-events: none; |
|
|
} |
|
|
|
|
|
.card-header { |
|
|
border-bottom: 1px solid #4a5568; |
|
|
padding: 1rem; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: 0.5rem; |
|
|
background: linear-gradient(90deg, rgba(255,159,28,0.05) 0%, transparent 100%); |
|
|
} |
|
|
|
|
|
.card-header h3 { |
|
|
font-size: 0.875rem; |
|
|
letter-spacing: 0.1em; |
|
|
} |
|
|
|
|
|
.card-content { |
|
|
padding: 1rem; |
|
|
} |
|
|
|
|
|
.status-line { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
margin-bottom: 0.5rem; |
|
|
font-size: 0.75rem; |
|
|
} |
|
|
|
|
|
.label { |
|
|
color: #4a5568; |
|
|
} |
|
|
|
|
|
.value { |
|
|
font-weight: 500; |
|
|
} |
|
|
|
|
|
|
|
|
.tech-border { |
|
|
position: relative; |
|
|
border: 1px solid #4a5568; |
|
|
} |
|
|
|
|
|
.tech-border::before, |
|
|
.tech-border::after { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
width: 8px; |
|
|
height: 8px; |
|
|
background: #0a0c10; |
|
|
} |
|
|
|
|
|
.tech-border::before { |
|
|
top: -1px; |
|
|
left: -1px; |
|
|
border-right: 1px solid #ff9f1c; |
|
|
border-bottom: 1px solid #ff9f1c; |
|
|
} |
|
|
|
|
|
.tech-border::after { |
|
|
bottom: -1px; |
|
|
right: -1px; |
|
|
border-left: 1px solid #ff9f1c; |
|
|
border-top: 1px solid #ff9f1c; |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes pulse-amber { |
|
|
0%, 100% { opacity: 1; } |
|
|
50% { opacity: 0.5; } |
|
|
} |
|
|
|
|
|
.pulse-online { |
|
|
animation: pulse-amber 2s infinite; |
|
|
color: #ff9f1c; |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.container { |
|
|
flex-direction: column; |
|
|
} |
|
|
|
|
|
.sidebar { |
|
|
width: 100%; |
|
|
height: auto; |
|
|
border-right: none; |
|
|
border-bottom: 2px solid #4a5568; |
|
|
} |
|
|
|
|
|
.terminal-card { |
|
|
margin-bottom: 1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
.terminal-input { |
|
|
background: transparent; |
|
|
border: none; |
|
|
border-bottom: 1px solid #4a5568; |
|
|
color: #ff9f1c; |
|
|
font-family: 'JetBrains Mono', monospace; |
|
|
padding: 0.5rem 0; |
|
|
width: 100%; |
|
|
} |
|
|
|
|
|
.terminal-input:focus { |
|
|
outline: none; |
|
|
border-bottom-color: #ff9f1c; |
|
|
} |
|
|
|
|
|
|
|
|
.form-checkbox { |
|
|
appearance: none; |
|
|
border: 1px solid #4a5568; |
|
|
background: transparent; |
|
|
width: 1rem; |
|
|
height: 1rem; |
|
|
border-radius: 2px; |
|
|
} |
|
|
|
|
|
.form-checkbox:checked { |
|
|
background: #ff9f1c; |
|
|
border-color: #ff9f1c; |
|
|
} |
|
|
|
|
|
.form-checkbox:checked::before { |
|
|
content: '✓'; |
|
|
color: #0a0c10; |
|
|
font-size: 0.75rem; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
} |
|
|
|
|
|
.input-group { |
|
|
margin-bottom: 1rem; |
|
|
} |
|
|
|
|
|
.input-group label { |
|
|
display: block; |
|
|
margin-bottom: 0.5rem; |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes spin { |
|
|
0% { transform: rotate(0deg); } |
|
|
100% { transform: rotate(360deg); } |
|
|
} |
|
|
|
|
|
.animate-spin { |
|
|
animation: spin 1s linear infinite; |
|
|
} |
|
|
|
|
|
.fuel-gauge { |
|
|
display: flex; |
|
|
gap: 2px; |
|
|
margin: 0.5rem 0; |
|
|
} |
|
|
|
|
|
.gauge-segment { |
|
|
height: 4px; |
|
|
flex: 1; |
|
|
background: #4a5568; |
|
|
} |
|
|
|
|
|
.gauge-segment.active { |
|
|
background: #ff9f1c; |
|
|
} |
|
|
|
|
|
.gauge-segment.warning { |
|
|
background: #dc2626; |
|
|
} |