         )
         return fn(url, true)  if exists
         called = false
-        node = _.el("link",
-          type: "text/css"
-          href: url
-          rel: "stylesheet"
+        tag = "link" #if GECKO then "style" else "link"
+        node = _.el( tag,
+           type: "text/css"
+           href: url
+           media: "screen"
+           rel: "stylesheet"
         )
 
         onloaded=(success,err)->

        this.body.appendChild(node)


Lanes.lib.Loader = (urls...)->
    urls = urls[0] if urls.length == 1 && _.isArray(urls[0])
    new _.Promise(  (resolve,reject)->
        new Loader(urls, (completed)->

            fn(url, success, err)
        node.onload  = ()->    onloaded(true,false)
        node.onerror = (err)-> onloaded(false,err)
        node.onreadystatechange = ->
            return if not (/loaded|complete/.test(node.readyState)) or called
            called=true
            fn(url, true)
        @head.appendChild node
        # GECKO cannot query the node immediatly after it's created
        if GECKO then _.delay(poll,250) else poll()



    loadJS: (url, fn) ->
