Files
website/style/yuukabot.css
T
2026-07-13 11:16:10 +03:00

163 lines
6.0 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ═══════════════════════════════════════════════════════════
YUUKA BOT DASHBOARD — live system stats
═══════════════════════════════════════════════════════════ */
/* ── LAYOUT: edit these to change the grid ────────────────── */
:root {
--dash-columns: 6; /* number of columns (2 = 2×2, 3 = 3-wide, etc.) */
--dash-gap: 20px; /* space between boxes */
--dash-min-card-height: 200px;/* minimum height of each box */
--dash-max-width: none; /* max width of the whole grid */
--dash-padding: 120px 48px 60px; /* top right/left bottom */
}
/* To make boxes take different amounts of space, add a class
to the HTML like "wide" or "tall" and define it here:
.dash-card.tall { grid-row: span 2; } */
/* ── Tab header ───────────────────────────────────────────── */
.dash-header {
padding: 120px 20px 30px;
text-align: center;
}
.dash-header h1 {
font-size: 2.8rem;
color: #fff;
margin: 0 0 6px;
text-shadow: 0 0 30px rgba(91, 111, 222, 0.5);
}
.dash-header .status-dot {
display: inline-block;
width: 14px; height: 14px;
border-radius: 50%;
background: #22c55e;
margin-right: 8px;
box-shadow: 0 0 12px #22c55e;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { box-shadow: 0 0 8px #22c55e; }
50% { box-shadow: 0 0 20px #22c55e, 0 0 40px rgba(34,197,94,0.4); }
}
.dash-header .offline { background: #ef4444; box-shadow: 0 0 12px #ef4444; animation: none; }
/* ── Card grid ────────────────────────────────────────────── */
.dash-grid {
display: grid;
grid-template-columns: repeat(var(--dash-columns), 1fr);
gap: var(--dash-gap);
max-width: var(--dash-max-width);
margin: 0 auto;
padding: 0 48px 60px;
}
/* ── Glass card ───────────────────────────────────────────── */
.dash-card {
background: rgba(15, 15, 35, 0.55);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(91, 111, 222, 0.2);
border-radius: 16px;
padding: 28px 30px;
min-height: var(--dash-min-card-height);
display: flex;
flex-direction: column;
justify-content: space-between;
transition: border-color 0.3s, box-shadow 0.3s;
}
.dash-card:hover {
border-color: rgba(91, 111, 222, 0.5);
box-shadow: 0 6px 28px rgba(91, 111, 222, 0.12);
}
/* ── Card header (icon + label) ───────────────────────────── */
.card-top {
display: flex;
align-items: center;
gap: 12px;
}
.card-icon {
font-size: 1.6rem;
width: 44px; height: 44px;
display: flex; align-items: center; justify-content: center;
background: rgba(91, 111, 222, 0.12);
border-radius: 10px;
}
.card-label {
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 1.5px;
color: rgba(255, 255, 255, 0.45);
font-family: Arial, Helvetica, sans-serif;
}
/* ── Card value ───────────────────────────────────────────── */
.card-value {
font-size: 3rem;
font-weight: bold;
color: #fff;
margin: 0;
line-height: 1;
}
.card-value span {
font-size: 1.2rem;
color: rgba(255, 255, 255, 0.4);
font-weight: 400;
}
/* ── Progress bar (CPU / RAM / Disk) ──────────────────────── */
.card-bar-wrap {
width: 100%;
height: 8px;
background: rgba(255, 255, 255, 0.08);
border-radius: 4px;
overflow: hidden;
margin-top: 12px;
}
.card-bar-fill {
height: 100%;
border-radius: 4px;
transition: width 0.8s ease;
}
.card-bar-fill.cpu { background: linear-gradient(90deg, #5b6fde, #818cf8); }
.card-bar-fill.ram { background: linear-gradient(90deg, #a78bfa, #c4b5fd); }
.card-bar-fill.disk { background: linear-gradient(90deg, #34d399, #6ee7b7); }
.card-bar-fill.swap { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
/* ── Detail text (used / total) ───────────────────────────── */
.card-detail {
font-size: 0.78rem;
color: rgba(255, 255, 255, 0.3);
font-family: Arial, Helvetica, sans-serif;
margin-top: 6px;
}
/* ── Footer ───────────────────────────────────────────────── */
.dash-footer {
text-align: center;
color: rgba(255, 255, 255, 0.2);
font-size: 0.7rem;
padding-bottom: 50px;
font-family: Arial, Helvetica, sans-serif;
}
/* ── Wide card (span 2 columns) ────────────────────────────── */
/* ── Fastfetch text block ──────────────────────────────────── */
.card-fetch {
margin: 12px 0 0;
font-family: "Cascadia Code", "Fira Code", "JetBrains Mono", Consolas, monospace;
font-size: 0.78rem;
color: rgba(255, 255, 255, 0.7);
white-space: pre-wrap;
line-height: 1.6;
overflow: hidden;
}
/* ── Span helpers (6-col grid) ──────────────────────────────── */
.dash-card.span2 { grid-column: span 2; } /* 3 per row */
.dash-card.span3 { grid-column: span 3; } /* 2 per row — stretched */
.dash-card.span6 { grid-column: span 6; } /* full width */
.card-spacer { height: 32px; }