@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;500;700&family=JetBrains+Mono:wght@400;700&display=swap');

:root {
    --brand-primary: #3b82f6;
    --brand-accent: #60a5fa;
    --bg-deep: #020617;
    --card-bg: rgba(30, 41, 59, 0.5);
}

body { 
    font-family: 'Space Grotesk', 'PingFang SC', sans-serif; 
    background-color: var(--bg-deep); 
    color: #f1f5f9;
    background-image: 
        radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 0% 100%, rgba(29, 78, 216, 0.1) 0%, transparent 40%);
    min-height: 100vh;
}

.glass {
    background: var(--card-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    border-radius: 2rem;
}

.mono { font-family: 'JetBrains Mono', monospace; }

/* 滚动条美化 */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

.status-badge {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.65rem;
    text-transform: uppercase;
    font-weight: 700;
}

.glow-blue { box-shadow: 0 0 15px rgba(59, 130, 246, 0.3); }

@keyframes pulse-soft {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.anim-pulse { animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

tr:hover { background: rgba(255, 255, 255, 0.02); transition: background 0.2s; }

#login-overlay {
    background: rgba(2, 6, 23, 0.9);
    backdrop-filter: blur(20px);
}
