* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    background: #0a0a14;
    color: #e0e0e0;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

.bg-glow {
    position: fixed;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 50% 0%, rgba(77, 171, 247, 0.03) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.header {
    position: relative;
    z-index: 1;
    background: rgba(15, 15, 30, 0.8);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(42, 42, 74, 0.5);
    padding: 0 32px;
}

.header-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
}

.header-left { display: flex; align-items: center; gap: 14px; }

.logo {
    width: 40px; height: 40px;
    background: rgba(77, 171, 247, 0.1);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
}

.header h1 { font-size: 20px; font-weight: 700; color: #fff; letter-spacing: -0.3px; }
.subtitle { color: #666; font-size: 13px; margin-top: 1px; }
.header-right { display: flex; align-items: center; gap: 8px; }

.status-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #51cf66; animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.status-text { font-size: 13px; color: #888; }

.cards {
    position: relative; z-index: 1;
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px;
    max-width: 1200px; margin: 24px auto; padding: 0 32px;
}

@media (max-width: 1100px) { .cards { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 450px) { .cards { grid-template-columns: 1fr; } }

.card {
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.9), rgba(22, 22, 40, 0.9));
    border: 1px solid rgba(42, 42, 74, 0.5);
    border-radius: 16px; padding: 16px;
    display: flex; align-items: flex-start; gap: 14px;
    transition: transform 0.2s, border-color 0.2s;
}

.card:hover { transform: translateY(-2px); border-color: rgba(77, 171, 247, 0.3); }

.card-icon {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

.card.killed .card-icon { background: rgba(255, 107, 107, 0.1); }
.card.spawned .card-icon { background: rgba(81, 207, 102, 0.1); }
.card.online .card-icon { background: rgba(77, 171, 247, 0.1); }
.card.active .card-icon { background: rgba(255, 212, 59, 0.1); }

.card .label { font-size: 10px; color: #666; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 2px; }
.card .value { font-size: 26px; font-weight: 700; color: #fff; line-height: 1.1; font-variant-numeric: tabular-nums; }

.card.killed .value { color: #ff6b6b; }
.card.spawned .value { color: #51cf66; }
.card.online .value { color: #4dabf7; }
.card.active .value { color: #ffd43b; }

.record { font-size: 11px; color: #555; margin-top: 4px; letter-spacing: 0.3px; }
.record span { color: #888; font-weight: 600; }

.main-grid {
    position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto; padding: 0 32px 32px;
}

.chart-card {
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.9), rgba(22, 22, 40, 0.9));
    border: 1px solid rgba(42, 42, 74, 0.5);
    border-radius: 16px; overflow: hidden;
    margin-bottom: 20px;
}

.chart-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 24px 0; flex-wrap: wrap; gap: 12px;
}

.chart-header h2 { font-size: 16px; font-weight: 600; color: #ccc; }

.badge { font-size: 11px; color: #666; background: rgba(42, 42, 74, 0.5); padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; }

.time-buttons { display: flex; gap: 6px; }

.time-btn {
    background: rgba(42, 42, 74, 0.4);
    border: 1px solid rgba(42, 42, 74, 0.6);
    color: #666; padding: 4px 14px; border-radius: 6px;
    font-size: 12px; cursor: pointer; transition: all 0.2s;
}

.time-btn:hover { border-color: rgba(77, 171, 247, 0.4); color: #aaa; }
.time-btn.active { background: rgba(77, 171, 247, 0.15); border-color: rgba(77, 171, 247, 0.4); color: #4dabf7; }

.time-input {
    width: 60px; background: rgba(42, 42, 74, 0.4);
    border: 1px solid rgba(42, 42, 74, 0.6); border-radius: 6px;
    color: #888; padding: 4px 8px; font-size: 12px; outline: none;
    transition: border-color 0.2s;
}
.time-input:focus { border-color: rgba(77, 171, 247, 0.4); }
.time-input::placeholder { color: #555; }

.date-input { width: 130px; color-scheme: dark; }

.chart-body { padding: 16px 24px 20px; }

.chart-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 700px) { .chart-row { grid-template-columns: 1fr; } }

.chart-half { min-width: 0; }
.chart-label { font-size: 12px; color: #666; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }

.chart-body canvas { max-height: 300px; max-width: 100%; }

.footer { position: relative; z-index: 1; text-align: center; padding: 24px 32px 48px; }
.updated { font-size: 12px; color: #444; }
