:root {
    color-scheme: dark;
    --bg: #020817;
    --panel: #17243e;
    --panel-soft: #101a2f;
    --cyan: #04d9f5;
    --blue: #4c83ff;
    --muted: #a8bad8;
    --white: #f8fbff;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--white);
    font-family: Arial, Helvetica, sans-serif;
}

.shell {
    width: min(1160px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    padding: 28px 0 24px;
    background: #0d172b;
    border-bottom: 2px solid var(--cyan);
}

.site-header h1 { margin: 0; color: var(--cyan); font-size: 30px; }
.site-header p { margin: 8px 0 0; color: var(--muted); }

.stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin: 20px 0;
}

.stats article {
    display: grid;
    gap: 8px;
    padding: 22px;
    text-align: center;
    background: var(--panel);
    border-radius: 12px;
}

.stats strong { color: var(--cyan); font-size: 32px; }
.stats span { color: var(--muted); }

.layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    align-items: start;
}

.server-list { display: grid; gap: 16px; }

.server-card {
    padding: 22px;
    background: var(--panel);
    border-left: 5px solid var(--cyan);
    border-radius: 12px;
}

.server-title {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.server-logo, .top-logo {
    width: 64px;
    height: 64px;
    object-fit: cover;
    background: var(--panel-soft);
    border-radius: 10px;
}

.server-title h2 { margin: 0 0 5px; color: var(--blue); }
.server-title h3 { margin: 0; font-weight: normal; }
.server-data { display: grid; gap: 8px; margin: 15px 0; }
.server-data p { margin: 0; }

.links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 15px 0;
}

.links a, .connect, .pagination button {
    padding: 10px 14px;
    color: #00111a;
    background: var(--cyan);
    border: 0;
    border-radius: 8px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

.age { color: var(--muted); }

.top-panel {
    padding: 18px;
    background: var(--panel-soft);
    border-radius: 12px;
}

.top-panel h2 { margin-top: 0; font-size: 20px; }
.top-panel ol { padding-left: 28px; }
.top-panel li { margin: 13px 0; }
.top-entry { display: flex; gap: 9px; align-items: center; }
.top-logo { width: 38px; height: 38px; }
.top-entry span { display: block; color: var(--muted); font-size: 12px; }

.pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: 20px 0 40px;
}

.pagination button.active { background: var(--blue); color: white; }
.empty { padding: 30px; text-align: center; color: var(--muted); background: var(--panel); border-radius: 12px; }

@media (max-width: 850px) {
    .layout { grid-template-columns: 1fr; }
    .stats { grid-template-columns: 1fr; }
    .server-title { align-items: flex-start; }
}
