84 lines
1.1 KiB
CSS
84 lines
1.1 KiB
CSS
:root {
|
|||
|
|
color-scheme: dark;
|
||
|
|
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
||
|
|
--bg: #0f1115;
|
||
|
|
--card: #1a1d24;
|
||
|
|
--text: #e8eaf0;
|
||
|
|
--muted: #9aa1ae;
|
||
|
|
}
|
||
|
|
|
||
|
|
* {
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
body {
|
||
|
|
margin: 0;
|
||
|
|
background: var(--bg);
|
||
|
|
color: var(--text);
|
||
|
|
min-height: 100vh;
|
||
|
|
display: grid;
|
||
|
|
place-items: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
.shell {
|
||
|
|
text-align: center;
|
||
|
|
padding: 2rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.shell h1 {
|
||
|
|
margin-bottom: 2rem;
|
||
|
|
font-size: 2.25rem;
|
||
|
|
letter-spacing: 0.06em;
|
||
|
|
}
|
||
|
|
|
||
|
|
.card {
|
||
|
|
background: var(--card);
|
||
|
|
border: 1px solid #262b35;
|
||
|
|
border-radius: 12px;
|
||
|
|
padding: 1.5rem 2.5rem;
|
||
|
|
min-width: 280px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.status-row {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
gap: 0.6rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.dot {
|
||
|
|
width: 10px;
|
||
|
|
height: 10px;
|
||
|
|
border-radius: 50%;
|
||
|
|
background: var(--muted);
|
||
|
|
}
|
||
|
|
|
||
|
|
.dot.ok {
|
||
|
|
background: #34d399;
|
||
|
|
box-shadow: 0 0 8px #34d39988;
|
||
|
|
}
|
||
|
|
|
||
|
|
.dot.error {
|
||
|
|
background: #f87171;
|
||
|
|
box-shadow: 0 0 8px #f8717188;
|
||
|
|
}
|
||
|
|
|
||
|
|
.dot.loading {
|
||
|
|
animation: pulse 1s ease-in-out infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
.status-label {
|
||
|
|
font-weight: 600;
|
||
|
|
}
|
||
|
|
|
||
|
|
.detail {
|
||
|
|
margin: 0.75rem 0 0;
|
||
|
|
color: var(--muted);
|
||
|
|
font-size: 0.875rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes pulse {
|
||
|
|
50% {
|
||
|
|
opacity: 0.35;
|
||
|
|
}
|
||
|
|
}
|