         name: "punctuation.definition.comment.js"
     end: "(?=\\n)"
     name: "comment.line.double-slash.js"
+  "component-style":
+    patterns: [
+      {
+        include: "#component-style-less"
+      }
+      {
+        include: "#component-style-css"
+      }
+    ]
+  "component-style-css":
+    applyEndPatternLast: 1
+    begin: "^(style)(?:\\.([a-z]+))?\\s+(\\{)"
+    beginCaptures:
+      "1":
+        name: "storage.type.marko.css"
+      "2":
+        name: "storage.modifier.marko.less"
+      "3":
+        name: "punctuation.section.scope.begin.css"
+    end: "\\}"
+    endCaptures:
+      "0":
+        name: "punctuation.section.scope.end.css"
+    patterns: [
+      {
+        include: "source.css"
+      }
+    ]
+  "component-style-less":
+    applyEndPatternLast: 1
+    begin: "^(style)\\.(less)\\s+(\\{)"
+    beginCaptures:
+      "1":
+        name: "storage.type.marko.less"
+      "2":
+        name: "storage.modifier.marko.less"
+      "3":
+        name: "punctuation.section.scope.begin.less"
+    end: "\\}"
+    endCaptures:
+      "0":
+        name: "punctuation.section.scope.end.less"
+    patterns: [
+      {
+        include: "source.css.less"
+      }
+    ]
   doctype:
     begin: "<!"
     captures:

        name: "punctuation.definition.tag.end.self-close.html"
    patterns: [
      {
        include: "#style-block"
      }
      {
        include: "#attr-stuff-html"
      }
      {

      }
      {
        include: "#tag-name-html"
      }
    ]
  "tag-name-concise":
