:root{--bg-primary:#0a0a0c;--bg-secondary:#121318;--bg-card:rgba(26,27,35,0.7);--border-subtle:rgba(255,255,255,0.08);--border-focus:rgba(120,119,198,0.3);--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--accent-emerald:#10b981;--accent-amber:#f59e0b;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:16px}.gradient-text{background:linear-gradient(135deg,#a855f7,#ec4899 50%,#f43f5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.healthy{background:rgba(16,185,129,.15);color:#34d399;border:1px solid rgba(16,185,129,.3)}.status-badge.dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideLeft{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes heartPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}40%{transform:translate(-50%,-50%) scale(1.3);opacity:1}70%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}