diff -urp /Users/alex/Desktop/drupal/includes/common.inc includes/common.inc
--- /Users/alex/Desktop/drupal/includes/common.inc	2009-09-27 07:08:45.000000000 -0400
+++ includes/common.inc	2009-09-29 20:29:34.000000000 -0400
@@ -2706,7 +2706,7 @@ function drupal_get_css($css = NULL) {
       case 'file':
         // Depending on whether aggregation is desired, include the file.
         if (!$item['preprocess'] || !($is_writable && $preprocess_css)) {
-          $rendered_css[] = '<link type="text/css" rel="stylesheet" media="' . $item['media'] . '" href="' . file_create_url($item['data']) . $query_string . '" />';
+          $rendered_css[] = theme('css',file_create_url($item['data']),$item['media'],$query_string);
         }
         else {
           $preprocess_items[$item['media']][] = $item;
@@ -2721,7 +2721,7 @@ function drupal_get_css($css = NULL) {
         break;
       case 'external':
         // Preprocessing for external CSS files is ignored.
-        $external_css .= '<link type="text/css" rel="stylesheet" media="' . $item['media'] . '" href="' . $item['data'] . '" />' . "\n";
+        $external_css .= theme('css',$item['data'],$item['media']) . "\n";
         break;
     }
   }
@@ -2737,7 +2737,7 @@ function drupal_get_css($css = NULL) {
   }
   // Enclose the inline CSS with the style tag if required.
   if (!empty($inline_css)) {
-    $inline_css = "\n" . '<style type="text/css">' . $inline_css .'</style>';
+    $inline_css = "\n" . theme('css_inline',$inline_css);
   }
 
   // Output all the CSS files with the inline stylesheets showing up last.
@@ -4580,6 +4580,12 @@ function drupal_common_theme() {
     'status_messages' => array(
       'arguments' => array('display' => NULL),
     ),
+    'css' => array(
+      'arguments' => array('href' => NULL, 'media' => NULL, 'query_string' => NULL),
+	  ),
+	  'css_inline' => array(
+      'arguments' => array('css' => NULL),
+	  ),
     'links' => array(
       'arguments' => array('links' => NULL, 'attributes' => array('class' => array('links')), 'heading' => array()),
     ),
diff -urp /Users/alex/Desktop/drupal/includes/theme.inc includes/theme.inc
--- /Users/alex/Desktop/drupal/includes/theme.inc	2009-09-21 02:36:54.000000000 -0400
+++ includes/theme.inc	2009-09-29 20:35:39.000000000 -0400
@@ -1374,6 +1374,39 @@ function theme_status_messages($display 
 }
 
 /**
+ * Return a themed <link> tag for CSS inclusion.
+ *
+ * @param $href
+ *   A string that is a path to CSS file (relative, absolute or external)
+ * @param $media
+ *   A string that is the media that this CSS is meant for (ex. all, print, etc...)
+ * @param $query_string
+ *   A string in the form "?A" used by drupal for cache-busting.  
+ *   Typically this is the result of "variable_get('css_js_query_string', '0')"
+ * @return
+ *   A string containing a <link> tag.
+ */
+function theme_css($href,$media='all',$query_string=''){
+	$output = '<link type="text/css" rel="stylesheet" media="' . $media . '" href="' . $href . $query_string . '" />';
+	
+	return $output;
+}
+
+/**
+ * Return a <style> tag with inline CSS.
+ *
+ * @param $css
+ *   A string of inline CSS to be included within a <script> tag
+ * @return
+ *   A string containing a <script> tag.
+ */
+function theme_css_inline($css){
+	$output = '<style type="text/css">' . $css .'</style>';
+	
+	return $output;
+}
+
+/**
  * Return a themed set of links.
  *
  * @param $links
