CodeMirror.defineMode("css",function(e){var d=e.indentUnit,f;function c(i,j){f=j;return i}function h(k,j){var i=k.next();if(i=="@"){k.eatWhile(/[\w\\\-]/);return c("meta",k.current())}else{if(i=="/"&&k.eat("*")){j.tokenize=a;return a(k,j)}else{if(i=="<"&&k.eat("!")){j.tokenize=b;return b(k,j)}else{if(i=="="){c(null,"compare")}else{if((i=="~"||i=="|")&&k.eat("=")){return c(null,"compare")}else{if(i=='"'||i=="'"){j.tokenize=g(i);return j.tokenize(k,j)}else{if(i=="#"){k.eatWhile(/[\w\\\-]/);return c("atom","hash")}else{if(i=="!"){k.match(/^\s*\w*/);return c("keyword","important")}else{if(/\d/.test(i)){k.eatWhile(/[\w.%]/);return c("number","unit")}else{if(/[,.+>*\/]/.test(i)){return c(null,"select-op")}else{if(/[;{}:\[\]]/.test(i)){return c(null,i)}else{k.eatWhile(/[\w\\\-]/);return c("variable","variable")}}}}}}}}}}}}function a(l,k){var i=false,j;while((j=l.next())!=null){if(i&&j=="/"){k.tokenize=h;break}i=(j=="*")}return c("comment","comment")}function b(l,k){var j=0,i;while((i=l.next())!=null){if(j>=2&&i==">"){k.tokenize=h;break}j=(i=="-")?j+1:0}return c("comment","comment")}function g(i){return function(m,k){var l=false,j;while((j=m.next())!=null){if(j==i&&!l){break}l=!l&&j=="\\"}if(!l){k.tokenize=h}return c("string","string")}}return{startState:function(i){return{tokenize:h,baseIndent:i||0,stack:[]}},token:function(l,k){if(l.eatSpace()){return null}var j=k.tokenize(l,k);var i=k.stack[k.stack.length-1];if(f=="hash"&&i=="rule"){j="atom"}else{if(j=="variable"){if(i=="rule"){j="number"}else{if(!i||i=="@media{"){j="tag"}}}}if(i=="rule"&&/^[\{\};]$/.test(f)){k.stack.pop()}if(f=="{"){if(i=="@media"){k.stack[k.stack.length-1]="@media{"}else{k.stack.push("{")}}else{if(f=="}"){k.stack.pop()}else{if(f=="@media"){k.stack.push("@media")}else{if(i=="{"&&f!="comment"){k.stack.push("rule")}}}}return j},indent:function(j,i){var k=j.stack.length;if(/^\}/.test(i)){k-=j.stack[j.stack.length-1]=="rule"?2:1}return j.baseIndent+k*d},electricChars:"}"}});CodeMirror.defineMIME("text/css","css");