{"name":"SCSS","scopeName":"source.css.scss","patterns":[{"include":"#variable_setting"},{"include":"#at_rule_forward"},{"include":"#at_rule_use"},{"include":"#at_rule_include"},{"include":"#at_rule_import"},{"include":"#general"},{"include":"#flow_control"},{"include":"#rules"},{"include":"#property_list"},{"include":"#at_rule_mixin"},{"include":"#at_rule_media"},{"include":"#at_rule_function"},{"include":"#at_rule_charset"},{"include":"#at_rule_option"},{"include":"#at_rule_namespace"},{"include":"#at_rule_fontface"},{"include":"#at_rule_page"},{"include":"#at_rule_keyframes"},{"include":"#at_rule_at_root"},{"include":"#at_rule_supports"},{"name":"punctuation.terminator.rule.css","match":";"}],"repository":{"at_rule_at_root":{"name":"meta.at-rule.at-root.scss","begin":"\\s*((@)(at-root))(\\s+|$)","end":"\\s*(?={)","patterns":[{"include":"#function_attributes"},{"include":"#functions"},{"include":"#selectors"}],"beginCaptures":{"1":{"name":"keyword.control.at-rule.at-root.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_charset":{"name":"meta.at-rule.charset.scss","begin":"\\s*((@)charset\\b)\\s*","end":"\\s*((?=;|$))","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"}],"captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_content":{"name":"meta.content.scss","begin":"\\s*((@)content\\b)\\s*","end":"\\s*((?=;))","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}],"captures":{"1":{"name":"keyword.control.content.scss"}}},"at_rule_each":{"name":"meta.at-rule.each.scss","begin":"\\s*((@)each\\b)\\s*","end":"\\s*((?=}))","patterns":[{"name":"keyword.control.operator","match":"\\b(in|,)\\b"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}],"captures":{"1":{"name":"keyword.control.each.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_else":{"name":"meta.at-rule.else.scss","begin":"\\s*((@)else(\\s*(if)?))\\s*","end":"\\s*(?={)","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}],"captures":{"1":{"name":"keyword.control.else.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_extend":{"name":"meta.at-rule.extend.scss","begin":"\\s*((@)extend\\b)\\s*","end":"\\s*(?=;)","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}],"captures":{"1":{"name":"keyword.control.at-rule.extend.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_fontface":{"patterns":[{"name":"meta.at-rule.fontface.scss","begin":"^\\s*((@)font-face\\b)","end":"\\s*(?={)","patterns":[{"include":"#function_attributes"}],"beginCaptures":{"1":{"name":"keyword.control.at-rule.fontface.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}}]},"at_rule_for":{"name":"meta.at-rule.for.scss","begin":"\\s*((@)for\\b)\\s*","end":"\\s*(?={)","patterns":[{"name":"keyword.control.operator","match":"(==|!=|\u003c=|\u003e=|\u003c|\u003e|from|to|through)"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}],"captures":{"1":{"name":"keyword.control.for.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_forward":{"name":"meta.at-rule.forward.scss","begin":"\\s*((@)forward\\b)\\s*","end":"\\s*(?=;)","patterns":[{"name":"keyword.control.operator","match":"\\b(as|hide|show)\\b"},{"match":"\\b([\\w-]+)(\\*)","captures":{"1":{"name":"entity.other.attribute-name.module.scss"},"2":{"name":"punctuation.definition.wildcard.scss"}}},{"name":"entity.name.function.scss","match":"\\b[\\w-]+\\b"},{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"}],"captures":{"1":{"name":"keyword.control.at-rule.forward.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_function":{"patterns":[{"name":"meta.at-rule.function.scss","begin":"\\s*((@)function\\b)\\s*","end":"\\s*(?={)","patterns":[{"include":"#function_attributes"}],"captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}}},{"name":"meta.at-rule.function.scss","match":"\\s*((@)function\\b)\\s*","captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}}}]},"at_rule_if":{"name":"meta.at-rule.if.scss","begin":"\\s*((@)if\\b)\\s*","end":"\\s*(?={)","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}],"captures":{"1":{"name":"keyword.control.if.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_import":{"name":"meta.at-rule.import.scss","begin":"\\s*((@)import\\b)\\s*","end":"\\s*((?=;)|(?=}))","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#functions"},{"include":"#comment_line"}],"captures":{"1":{"name":"keyword.control.at-rule.import.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_include":{"patterns":[{"name":"meta.at-rule.include.scss","begin":"(?\u003c=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)\\s*(\\()","end":"\\)","patterns":[{"include":"#function_attributes"}],"beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}}},{"match":"(?\u003c=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)","captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"}}},{"match":"((@)include)\\b","captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"keyword.control.at-rule.include.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}}]},"at_rule_keyframes":{"name":"meta.at-rule.keyframes.scss","begin":"(?\u003c=^|\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\b","end":"(?\u003c=})","patterns":[{"match":"(?\u003c=@keyframes)\\s+((?:[_A-Za-z][-\\w]|-[_A-Za-z])[-\\w]*)","captures":{"1":{"name":"entity.name.function.scss"}}},{"name":"string.quoted.double.scss","contentName":"entity.name.function.scss","begin":"(?\u003c=@keyframes)\\s+(\")","end":"\"","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},{"name":"string.quoted.single.scss","contentName":"entity.name.function.scss","begin":"(?\u003c=@keyframes)\\s+(')","end":"'","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},{"begin":"{","end":"}","patterns":[{"name":"entity.other.attribute-name.scss","match":"\\b(?:(?:100|[1-9]\\d|\\d)%|from|to)(?=\\s*{)"},{"include":"#flow_control"},{"include":"#interpolation"},{"include":"#property_list"},{"include":"#rules"}],"beginCaptures":{"0":{"name":"punctuation.section.keyframes.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.section.keyframes.end.scss"}}}],"beginCaptures":{"0":{"name":"keyword.control.at-rule.keyframes.scss"},"1":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_media":{"patterns":[{"name":"meta.at-rule.media.scss","begin":"^\\s*((@)media)\\b","end":"\\s*(?={)","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"name":"keyword.control.operator.css.scss","match":"\\b(only)\\b"},{"name":"meta.property-list.media-query.scss","begin":"\\(","end":"\\)","patterns":[{"name":"meta.property-name.media-query.scss","begin":"(?\u003c![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","patterns":[{"include":"source.css#media-features"},{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.media-query.scss","begin":"(:)\\s*(?!(\\s*{))","end":"\\s*(;|(?=}|\\)))","patterns":[{"include":"#general"},{"include":"#property_values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.media-query.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.media-query.end.bracket.round.scss"}}},{"include":"#variable"},{"include":"#conditional_operators"},{"include":"source.css#media-types"}],"beginCaptures":{"1":{"name":"keyword.control.at-rule.media.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}}]},"at_rule_mixin":{"patterns":[{"name":"meta.at-rule.mixin.scss","begin":"(?\u003c=@mixin)\\s+([\\w-]+)\\s*(\\()","end":"\\)","patterns":[{"include":"#function_attributes"}],"beginCaptures":{"1":{"name":"entity.name.function.scss"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}}},{"name":"meta.at-rule.mixin.scss","match":"(?\u003c=@mixin)\\s+([\\w-]+)","captures":{"1":{"name":"entity.name.function.scss"}}},{"name":"meta.at-rule.mixin.scss","match":"((@)mixin)\\b","captures":{"1":{"name":"keyword.control.at-rule.mixin.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}}]},"at_rule_namespace":{"patterns":[{"name":"meta.at-rule.namespace.scss","begin":"(?\u003c=@namespace)\\s+(?=url)","end":"(?=;|$)","patterns":[{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}]},{"name":"meta.at-rule.namespace.scss","begin":"(?\u003c=@namespace)\\s+([\\w-]*)","end":"(?=;|$)","patterns":[{"include":"#variables"},{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}],"captures":{"1":{"name":"entity.name.namespace-prefix.scss"}}},{"name":"meta.at-rule.namespace.scss","match":"((@)namespace)\\b","captures":{"1":{"name":"keyword.control.at-rule.namespace.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}}]},"at_rule_option":{"name":"meta.at-rule.option.scss","match":"^\\s*((@)option\\b)\\s*","captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_page":{"patterns":[{"name":"meta.at-rule.page.scss","begin":"^\\s*((@)page)(?=:|\\s)\\s*([-:\\w]*)","end":"\\s*(?={)","captures":{"1":{"name":"keyword.control.at-rule.page.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}}}]},"at_rule_return":{"name":"meta.at-rule.return.scss","begin":"\\s*((@)(return)\\b)","end":"\\s*((?=;))","patterns":[{"include":"#variable"},{"include":"#property_values"}],"captures":{"1":{"name":"keyword.control.return.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_supports":{"name":"meta.at-rule.supports.scss","begin":"(?\u003c=^|\\s)(@)supports\\b","end":"(?={)|$","patterns":[{"include":"#logical_operators"},{"include":"#properties"},{"name":"punctuation.definition.condition.begin.bracket.round.scss","match":"\\("},{"name":"punctuation.definition.condition.end.bracket.round.scss","match":"\\)"}],"captures":{"0":{"name":"keyword.control.at-rule.supports.scss"},"1":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_use":{"name":"meta.at-rule.use.scss","begin":"\\s*((@)use\\b)\\s*","end":"\\s*(?=;)","patterns":[{"name":"keyword.control.operator","match":"\\b(as|with)\\b"},{"name":"variable.scss","match":"\\b[\\w-]+\\b"},{"name":"variable.language.expanded-namespace.scss","match":"\\*"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_attributes"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}}}],"captures":{"1":{"name":"keyword.control.at-rule.use.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_warn":{"name":"meta.at-rule.warn.scss","begin":"\\s*((@)(warn|debug|error)\\b)\\s*","end":"\\s*(?=;)","patterns":[{"include":"#variable"},{"include":"#string_double"},{"include":"#string_single"}],"captures":{"1":{"name":"keyword.control.warn.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"at_rule_while":{"name":"meta.at-rule.while.scss","begin":"\\s*((@)while\\b)\\s*","end":"\\s*(?=})","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}],"captures":{"1":{"name":"keyword.control.while.scss"},"2":{"name":"punctuation.definition.keyword.scss"}}},"comment_block":{"name":"comment.block.scss","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scss"}}},"comment_docblock":{"name":"comment.block.documentation.scss","begin":"///","end":"(?=$)","patterns":[{"include":"source.sassdoc"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}}},"comment_line":{"name":"comment.line.scss","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}}},"comparison_operators":{"name":"keyword.operator.comparison.scss","match":"==|!=|\u003c=|\u003e=|\u003c|\u003e"},"conditional_operators":{"patterns":[{"include":"#comparison_operators"},{"include":"#logical_operators"}]},"constant_default":{"name":"keyword.other.default.scss","match":"!default"},"constant_functions":{"begin":"(?:([\\w-]+)(\\.))?([\\w-]+)(\\()","end":"(\\))","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"support.function.misc.scss"},"4":{"name":"punctuation.section.function.scss"}},"endCaptures":{"1":{"name":"punctuation.section.function.scss"}}},"constant_important":{"name":"keyword.other.important.scss","match":"!important"},"constant_mathematical_symbols":{"name":"support.constant.mathematical-symbols.scss","match":"\\b(\\+|-|\\*|/)\\b"},"constant_optional":{"name":"keyword.other.optional.scss","match":"!optional"},"constant_sass_functions":{"begin":"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\()","end":"(\\))","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"endCaptures":{"1":{"name":"punctuation.section.function.scss"}}},"flow_control":{"patterns":[{"include":"#at_rule_if"},{"include":"#at_rule_else"},{"include":"#at_rule_warn"},{"include":"#at_rule_for"},{"include":"#at_rule_while"},{"include":"#at_rule_each"},{"include":"#at_rule_return"}]},"function_attributes":{"patterns":[{"name":"punctuation.separator.key-value.scss","match":":"},{"include":"#general"},{"include":"#property_values"},{"name":"invalid.illegal.scss","match":"[={}\\?;@]"}]},"functions":{"patterns":[{"begin":"([\\w-]{1,})(\\()\\s*","end":"(\\))","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"endCaptures":{"1":{"name":"punctuation.section.function.scss"}}},{"name":"support.function.misc.scss","match":"([\\w-]{1,})"}]},"general":{"patterns":[{"include":"#variable"},{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"}]},"interpolation":{"name":"variable.interpolation.scss","begin":"#{","end":"}","patterns":[{"include":"#variable"},{"include":"#property_values"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolation.begin.bracket.curly.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.bracket.curly.scss"}}},"logical_operators":{"name":"keyword.operator.logical.scss","match":"\\b(not|or|and)\\b"},"map":{"name":"meta.definition.variable.map.scss","begin":"\\(","end":"\\)","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"match":"\\b([\\w-]+)\\s*(:)","captures":{"1":{"name":"support.type.map.key.scss"},"2":{"name":"punctuation.separator.key-value.scss"}}},{"name":"punctuation.separator.delimiter.scss","match":","},{"include":"#map"},{"include":"#variable"},{"include":"#property_values"}],"beginCaptures":{"0":{"name":"punctuation.definition.map.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.map.end.bracket.round.scss"}}},"operators":{"name":"keyword.operator.css","match":"[-+*/](?!\\s*[-+*/])"},"parameters":{"patterns":[{"include":"#variable"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_attributes"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}}},{"include":"#property_values"},{"include":"#comment_block"},{"name":"variable.parameter.url.scss","match":"[^'\",) \\t]+"},{"name":"punctuation.separator.delimiter.scss","match":","}]},"parent_selector_suffix":{"name":"entity.other.attribute-name.parent-selector-suffix.css","match":"(?x)\n(?\u003c=\u0026)\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,.\\#)\\[:{\u003e+~|] # - Another selector\n | /\\* # - A block comment\n)","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.identifier.scss","match":"\\$|}"}]}}},"properties":{"patterns":[{"name":"meta.property-name.scss","begin":"(?\u003c![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","patterns":[{"include":"source.css#property-names"},{"include":"#at_rule_include"}]},{"contentName":"meta.property-value.scss","begin":"(:)\\s*(?!(\\s*{))","end":"\\s*(;|(?=}|\\)))","patterns":[{"include":"#general"},{"include":"#property_values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}}}]},"property_list":{"name":"meta.property-list.scss","begin":"{","end":"}","patterns":[{"include":"#flow_control"},{"include":"#rules"},{"include":"#properties"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.scss"}},"endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.scss"}}},"property_values":{"patterns":[{"include":"#string_single"},{"include":"#string_double"},{"include":"#constant_functions"},{"include":"#constant_sass_functions"},{"include":"#constant_important"},{"include":"#constant_default"},{"include":"#constant_optional"},{"include":"source.css#numeric-values"},{"include":"source.css#property-keywords"},{"include":"source.css#color-keywords"},{"include":"source.css#property-names"},{"include":"#constant_mathematical_symbols"},{"include":"#operators"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#general"},{"include":"#property_values"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}}}]},"rules":{"patterns":[{"include":"#general"},{"include":"#at_rule_extend"},{"include":"#at_rule_content"},{"include":"#at_rule_include"},{"include":"#at_rule_media"},{"include":"#selectors"}]},"selector_attribute":{"name":"meta.attribute-selector.scss","match":"(?xi)\n(\\[)\n\\s*\n(\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+?\n)\n(?:\n \\s*([~|^$*]?=)\\s*\n (?:\n (\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n )\n |\n ((\")(.*?)(\"))\n |\n ((')(.*?)('))\n )\n)?\n\\s*\n(\\])","captures":{"1":{"name":"punctuation.definition.attribute-selector.begin.bracket.square.scss"},"10":{"name":"punctuation.definition.string.begin.scss"},"11":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.scss","match":"\\$|}"}]},"12":{"name":"punctuation.definition.string.end.scss"},"13":{"name":"punctuation.definition.attribute-selector.end.bracket.square.scss"},"2":{"name":"entity.other.attribute-name.attribute.scss","patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.scss","match":"\\$|}"}]},"3":{"name":"keyword.operator.scss"},"4":{"name":"string.unquoted.attribute-value.scss","patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.scss","match":"\\$|}"}]},"5":{"name":"string.quoted.double.attribute-value.scss"},"6":{"name":"punctuation.definition.string.begin.scss"},"7":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.scss","match":"\\$|}"}]},"8":{"name":"punctuation.definition.string.end.scss"},"9":{"name":"string.quoted.single.attribute-value.scss"}}},"selector_class":{"name":"entity.other.attribute-name.class.css","match":"(?x)\n(\\.) # Valid class-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n | ; # - A semicolon\n)","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.scss","match":"\\$|}"}]}}},"selector_custom":{"name":"entity.name.tag.custom.scss","match":"\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\.|\\s++[^:]|\\s*[,\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\([0-9A-Za-z]*\\))?)"},"selector_id":{"name":"entity.other.attribute-name.id.css","match":"(?x)\n(\\#) # Valid id-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n)","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.identifier.scss","match":"\\$|}"}]}}},"selector_placeholder":{"name":"entity.other.attribute-name.placeholder.css","match":"(?x)\n(%) # Valid placeholder-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.\\$ # Possible start of interpolation module scope variable\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= ; # - End of statement\n | $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n)","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.scss","match":"\\\\([0-9a-fA-F]{1,6}|.)"},{"name":"invalid.illegal.identifier.scss","match":"\\$|}"}]}}},"selector_pseudo_class":{"patterns":[{"begin":"((:)\\bnth-(?:child|last-child|of-type|last-of-type))(\\()","end":"\\)","patterns":[{"include":"#interpolation"},{"name":"constant.numeric.css","match":"\\d+"},{"name":"constant.other.scss","match":"(?\u003c=\\d)n\\b|\\b(n|even|odd)\\b"},{"name":"invalid.illegal.scss","match":"\\w+"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.definition.pseudo-class.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.definition.pseudo-class.end.bracket.round.css"}}},{"include":"source.css#pseudo-classes"},{"include":"source.css#pseudo-elements"},{"include":"source.css#functional-pseudo-classes"}]},"selectors":{"patterns":[{"include":"source.css#tag-names"},{"include":"#selector_custom"},{"include":"#selector_class"},{"include":"#selector_id"},{"include":"#selector_pseudo_class"},{"include":"#tag_wildcard"},{"include":"#tag_parent_reference"},{"include":"source.css#pseudo-elements"},{"include":"#selector_attribute"},{"include":"#selector_placeholder"},{"include":"#parent_selector_suffix"}]},"string_double":{"name":"string.quoted.double.scss","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},"string_single":{"name":"string.quoted.single.scss","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},"tag_parent_reference":{"name":"entity.name.tag.reference.scss","match":"\u0026"},"tag_wildcard":{"name":"entity.name.tag.wildcard.scss","match":"\\*"},"variable":{"patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"variable_setting":{"contentName":"meta.definition.variable.scss","begin":"(?=\\$[\\w-]+\\s*:)","end":";","patterns":[{"name":"variable.scss","match":"\\$[\\w-]+(?=\\s*:)"},{"begin":":","end":"(?=;)","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"include":"#map"},{"include":"#property_values"},{"include":"#variable"},{"name":"punctuation.separator.delimiter.scss","match":","}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.scss"}}}],"endCaptures":{"0":{"name":"punctuation.terminator.rule.scss"}}},"variables":{"patterns":[{"match":"\\b([\\w-]+)(\\.)(\\$[\\w-]+)\\b","captures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"variable.scss"}}},{"name":"variable.scss","match":"(\\$|\\-\\-)[A-Za-z0-9_-]+\\b"}]}}}