<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->
<!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
<!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
]>
<!--
Kate CSS syntax highlighting definition
Changelog:
- Version 8, by Jonathan Poelen
- fix some Operator and Selector Tag highlighting
- Version 7, by Jonathan Poelen
- fix tag followed by a pseudo-class in a nested rule (@media, ...)
- fix constraint in a rule
- fix Kate auto-completion for properties and rules
- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Variable, Value Keyword, Color, Number, Unit, Selector Tag
- Version 4, by Guo Yunhe guoyunhebrave@gmail.com
- Remake for complex CSS syntax, avoid errors
- Version 2.13, by Guo Yunhe
- Add all W3C Work Draft properties
- Version 2.06, by Mte90:
- CSS3 tag
- Version 2.03, by Milian Wolff:
- Make it spelling aware
- Version 2.08, Joseph Wenninger:
- CSS3 media queries
-->
<language name="CSS" version="10" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
<!-- https://www.w3.org/Style/CSS/current-work -->
<highlighting>
<list name="properties">
<!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties -->
<item>align-content</item>
<item>align-items</item>
<item>alignment-baseline</item>
<item>align-self</item>
<item>all</item>
<item>animation</item>
<item>animation-delay</item>
<item>animation-direction</item>
<item>animation-duration</item>
<item>animation-fill-mode</item>
<item>animation-iteration-count</item>
<item>animation-name</item>
<item>animation-play-state</item>
<item>animation-timing-function</item>
<item>appearance</item>
<item>azimuth</item>
<item>backface-visibility</item>
<item>background</item>
<item>background-attachment</item>
<item>background-blend-mode</item>
<item>background-clip</item>
<item>background-color</item>
<item>background-image</item>
<item>background-image-transform</item>
<item>background-origin</item>
<item>background-position</item>
<item>background-repeat</item>
<item>background-size</item>
<item>baseline-shift</item>
<item>block-size</item>
<item>block-step</item>
<item>block-step-align</item>
<item>block-step-insert</item>
<item>block-step-round</item>
<item>block-step-size</item>
<item>bookmark-label</item>
<item>bookmark-level</item>
<item>bookmark-state</item>
<item>border</item>
<item>border-block</item>
<item>border-block-color</item>
<item>border-block-end</item>
<item>border-block-end-color</item>
<item>border-block-end-style</item>
<item>border-block-end-width</item>
<item>border-block-start</item>
<item>border-block-start-color</item>
<item>border-block-start-style</item>
<item>border-block-start-width</item>
<item>border-block-style</item>
<item>border-block-width</item>
<item>border-bottom</item>
<item>border-bottom-color</item>
<item>border-bottom-left-radius</item>
<item>border-bottom-right-radius</item>
<item>border-bottom-style</item>
<item>border-bottom-width</item>
<item>border-boundary</item>
<item>border-collapse</item>
<item>border-color</item>
<item>border-image</item>
<item>border-image-outset</item>
<item>border-image-repeat</item>
<item>border-image-slice</item>
<item>border-image-source</item>
<item>border-image-transform</item>
<item>border-image-width</item>
<item>border-inline</item>
<item>border-inline-color</item>
<item>border-inline-end</item>
<item>border-inline-end-color</item>
<item>border-inline-end-style</item>
<item>border-inline-end-width</item>
<item>border-inline-start</item>
<item>border-inline-start-color</item>
<item>border-inline-start-style</item>
<item>border-inline-start-width</item>
<item>border-inline-style</item>
<item>border-inline-width</item>
<item>border-left</item>
<item>border-left-color</item>
<item>border-left-style</item>
<item>border-left-width</item>
<item>border-radius</item>
<item>border-right</item>
<item>border-right-color</item>
<item>border-right-style</item>
<item>border-right-width</item>
<item>border-spacing</item>
<item>border-style</item>
<item>border-top</item>
<item>border-top-color</item>
<item>border-top-left-radius</item>
<item>border-top-right-radius</item>
<item>border-top-style</item>
<item>border-top-width</item>
<item>border-width</item>
<item>bottom</item>
<item>box-decoration-break</item>
<item>box-shadow</item>
<item>box-sizing</item>
<item>box-snap</item>
<item>break-after</item>
<item>break-before</item>
<item>break-inside</item>
<item>caption-side</item>
<item>caret</item>
<item>caret-color</item>
<item>caret-shape</item>
<item>clear</item>
<item>clip</item>
<item>clip-path</item>
<item>clip-rule</item>
<item>color</item>
<item>color-adjust</item>
<item>color-interpolation-filters</item>
<item>columns</item>
<item>column-count</item>
<item>column-fill</item>
<item>column-gap</item>
<item>column-rule</item>
<item>column-rule-color</item>
<item>column-rule-style</item>
<item>column-rule-width</item>
<item>column-span</item>
<item>column-width</item>
<item>contain</item>
<item>content</item>
<item>continue</item>
<item>counter-increment</item>
<item>counter-reset</item>
<item>counter-set</item>
<item>cue</item>
<item>cue-after</item>
<item>cue-before</item>
<item>cursor</item>
<item>direction</item>
<item>display</item>
<item>dominant-baseline</item>
<item>elevation</item>
<item>empty-cells</item>
<item>fill</item>
<item>fill-break</item>
<item>fill-color</item>
<item>fill-image</item>
<item>fill-opacity</item>
<item>fill-origin</item>
<item>fill-position</item>
<item>fill-repeat</item>
<item>fill-rule</item>
<item>fill-size</item>
<item>filter</item>
<item>flex</item>
<item>flex-basis</item>
<item>flex-direction</item>
<item>flex-flow</item>
<item>flex-grow</item>
<item>flex-shrink</item>
<item>flex-wrap</item>
<item>float</item>
<item>float-defer</item>
<item>float-offset</item>
<item>float-reference</item>
<item>flood-color</item>
<item>flood-opacity</item>
<item>flow-from</item>
<item>flow-into</item>
<item>font</item>
<item>font-family</item>
<item>font-feature-settings</item>
<item>font-kerning</item>
<item>font-language-override</item>
<item>font-max-size</item>
<item>font-min-size</item>
<item>font-optical-sizing</item>
<item>font-palette</item>
<item>font-size</item>
<item>font-size-adjust</item>
<item>font-stretch</item>
<item>font-style</item>
<item>font-synthesis</item>
<item>font-variant</item>
<item>font-variant-alternates</item>
<item>font-variant-caps</item>
<item>font-variant-east-asian</item>
<item>font-variant-emoji</item>
<item>font-variant-ligatures</item>
<item>font-variant-numeric</item>
<item>font-variant-position</item>
<item>font-variation-settings</item>
<item>font-weight</item>
<item>footnote-display</item>
<item>footnote-policy</item>
<item>gap</item>
<item>glyph-orientation-vertical</item>
<item>grid</item>
<item>grid-area</item>
<item>grid-auto-columns</item>
<item>grid-auto-flow</item>
<item>grid-auto-rows</item>
<item>grid-column</item>
<item>grid-column-end</item>
<item>grid-column-gap</item>
<item>grid-column-start</item>
<item>grid-gap</item>
<item>grid-row</item>
<item>grid-row-end</item>
<item>grid-row-gap</item>
<item>grid-row-start</item>
<item>grid-template</item>
<item>grid-template-areas</item>
<item>grid-template-columns</item>
<item>grid-template-rows</item>
<item>hanging-punctuation</item>
<item>height</item>
<item>hyphenate-character</item>
<item>hyphenate-limit-chars</item>
<item>hyphenate-limit-last</item>
<item>hyphenate-limit-lines</item>
<item>hyphenate-limit-zone</item>
<item>hyphens</item>
<item>image-orientation</item>
<item>image-rendering</item>
<item>image-resolution</item>
<item>initial-letter</item>
<item>initial-letter-align</item>
<item>initial-letter-wrap</item>
<item>inline-size</item>
<item>inset</item>
<item>inset-block</item>
<item>inset-block-end</item>
<item>inset-block-start</item>
<item>inset-inline</item>
<item>inset-inline-end</item>
<item>inset-inline-start</item>
<item>isolation</item>
<item>justify-content</item>
<item>justify-items</item>
<item>justify-self</item>
<item>left</item>
<item>letter-spacing</item>
<item>lighting-color</item>
<item>line-break</item>
<item>line-grid</item>
<item>line-height</item>
<item>line-height-step</item>
<item>line-snap</item>
<item>list-style</item>
<item>list-style-image</item>
<item>list-style-position</item>
<item>list-style-type</item>
<item>margin</item>
<item>margin-block</item>
<item>margin-block-end</item>
<item>margin-block-start</item>
<item>margin-bottom</item>
<item>margin-inline</item>
<item>margin-inline-end</item>
<item>margin-inline-start</item>
<item>margin-left</item>
<item>margin-right</item>
<item>margin-top</item>
<item>marker</item>
<item>marker-end</item>
<item>marker-knockout-left</item>
<item>marker-knockout-right</item>
<item>marker-mid</item>
<item>marker-pattern</item>
<item>marker-segment</item>
<item>marker-side</item>
<item>marker-start</item>
<item>marquee-direction</item>
<item>marquee-loop</item>
<item>marquee-speed</item>
<item>marquee-style</item>
<item>mask</item>
<item>mask-border</item>
<item>mask-border-mode</item>
<item>mask-border-outset</item>
<item>mask-border-repeat</item>
<item>mask-border-slice</item>
<item>mask-border-source</item>
<item>mask-border-width</item>
<item>mask-clip</item>
<item>mask-composite</item>
<item>mask-image</item>
<item>mask-mode</item>
<item>mask-origin</item>
<item>mask-position</item>
<item>mask-repeat</item>
<item>mask-size</item>
<item>mask-type</item>
<item>max-block-size</item>
<item>max-height</item>
<item>max-inline-size</item>
<item>max-lines</item>
<item>max-width</item>
<item>min-block-size</item>
<item>min-height</item>
<item>min-inline-size</item>
<item>min-width</item>
<item>mix-blend-mode</item>
<item>nav-up</item>
<item>nav-down</item>
<item>nav-left</item>
<item>nav-right</item>
<item>object-fit</item>
<item>object-position</item>
<item>offset</item>
<item>offset-after</item>
<item>offset-anchor</item>
<item>offset-before</item>
<item>offset-distance</item>
<item>offset-end</item>
<item>offset-path</item>
<item>offset-position</item>
<item>offset-rotate</item>
<item>offset-start</item>
<item>opacity</item>
<item>order</item>
<item>orphans</item>
<item>outline</item>
<item>outline-color</item>
<item>outline-offset</item>
<item>outline-style</item>
<item>outline-width</item>
<item>overflow</item>
<item>overflow-style</item>
<item>overflow-wrap</item>
<item>overflow-x</item>
<item>overflow-y</item>
<item>padding</item>
<item>padding-block</item>
<item>padding-block-end</item>
<item>padding-block-start</item>
<item>padding-bottom</item>
<item>padding-inline</item>
<item>padding-inline-end</item>
<item>padding-inline-start</item>
<item>padding-left</item>
<item>padding-right</item>
<item>padding-top</item>
<item>page</item>
<item>page-break-after</item>
<item>page-break-before</item>
<item>page-break-inside</item>
<item>pause</item>
<item>pause-after</item>
<item>pause-before</item>
<item>perspective</item>
<item>perspective-origin</item>
<item>pitch</item>
<item>pitch-range</item>
<item>place-content</item>
<item>place-items</item>
<item>place-self</item>
<item>play-during</item>
<item>pointer-events</item>
<item>position</item>
<item>quotes</item>
<item>region-fragment</item>
<item>resize</item>
<item>richness</item>
<item>right</item>
<item>rotation</item>
<item>rotation-point</item>
<item>row-gap</item>
<item>ruby-align</item>
<item>ruby-merge</item>
<item>ruby-position</item>
<item>running</item>
<item>scrollbar-gutter</item>
<item>shape-image-threshold</item>
<item>shape-inside</item>
<item>shape-margin</item>
<item>shape-outside</item>
<item>size</item>
<item>speak</item>
<item>speak-header</item>
<item>speak-numeral</item>
<item>speak-punctuation</item>
<item>speech-rate</item>
<item>stress</item>
<item>string-set</item>
<item>table-layout</item>
<item>tab-size</item>
<item>text-align-all</item>
<item>text-align</item>
<item>text-align-last</item>
<item>text-combine-upright</item>
<item>text-decoration-color</item>
<item>text-decoration</item>
<item>text-decoration-line</item>
<item>text-decoration-skip</item>
<item>text-decoration-skip-ink</item>
<item>text-decoration-style</item>
<item>text-decoration-width</item>
<item>text-emphasis</item>
<item>text-emphasis-color</item>
<item>text-emphasis-position</item>
<item>text-emphasis-skip</item>
<item>text-emphasis-style</item>
<item>text-indent</item>
<item>text-justify</item>
<item>text-orientation</item>
<item>text-overflow</item>
<item>text-shadow</item>
<item>text-space-collapse</item>
<item>text-space-trim</item>
<item>text-spacing</item>
<item>text-transform</item>
<item>text-underline-offset</item>
<item>text-underline-position</item>
<item>text-wrap</item>
<item>top</item>
<item>transform</item>
<item>transform-box</item>
<item>transform-origin</item>
<item>transform-style</item>
<item>transition</item>
<item>transition-delay</item>
<item>transition-duration</item>
<item>transition-property</item>
<item>transition-timing-function</item>
<item>unicode-bidi</item>
<item>user-select</item>
<item>vertical-align</item>
<item>visibility</item>
<item>voice-family</item>
<item>volume</item>
<item>white-space</item>
<item>widows</item>
<item>width</item>
<item>will-change</item>
<item>word-break</item>
<item>word-spacing</item>
<item>word-wrap</item>
<item>wrap-after</item>
<item>wrap-before</item>
<item>wrap-flow</item>
<item>wrap-inside</item>
<item>wrap-through</item>
<item>writing-mode</item>
<item>z-index</item>
<!-- Gecko rendering engine CSS property extensions -->
<item>-moz-animation</item>
<item>-moz-animation-delay</item>
<item>-moz-animation-direction</item>
<item>-moz-animation-duration</item>
<item>-moz-animation-fill-mode</item>
<item>-moz-animation-iteration-count</item>
<item>-moz-animation-name</item>
<item>-moz-animation-play-state</item>
<item>-moz-animation-timing-function</item>
<item>-moz-appearance</item>
<item>-moz-background-clip</item>
<item>-moz-background-origin</item>
<item>-moz-background-size</item>
<item>-moz-border-image</item>
<item>-moz-border-radius</item>
<item>-moz-border-radius-bottomleft</item>
<item>-moz-border-radius-bottomright</item>
<item>-moz-border-radius-topleft</item>
<item>-moz-border-radius-topright</item>
<item>-moz-box-align</item>
<item>-moz-box-direction</item>
<item>-moz-box-flex</item>
<item>-moz-box-flex-group</item>
<item>-moz-box-ordinal-group</item>
<item>-moz-box-orient</item>
<item>-moz-box-pack</item>
<item>-moz-box-shadow</item>
<item>-moz-box-sizing</item>
<item>-moz-box</item>
<item>-moz-column-count</item>
<item>-moz-column-fill</item>
<item>-moz-column-gap</item>
<item>-moz-column-rule</item>
<item>-moz-column-rule-color</item>
<item>-moz-column-rule-style</item>
<item>-moz-column-rule-width</item>
<item>-moz-columns</item>
<item>-moz-column-width</item>
<item>-moz-hyphens</item>
<item>-moz-opacity</item>
<item>-moz-outline-style</item>
<item>-moz-perspective</item>
<item>-moz-resize</item>
<item>-moz-text-align-last</item>
<item>-moz-text-decoration-color</item>
<item>-moz-text-decoration-line</item>
<item>-moz-text-decoration-style</item>
<item>-moz-transform</item>
<item>-moz-transform-origin</item>
<item>-moz-transform-style</item>
<item>-moz-transition</item>
<item>-moz-transition-delay</item>
<item>-moz-transition-duration</item>
<item>-moz-transition-property</item>
<item>-moz-transition-timing-function</item>
<item>-moz-user-select</item>
<!-- Opera rendering engine CSS property extensions -->
<item>-o-background-size</item>
<item>-o-linear-gradient</item>
<item>-o-text-overflow</item>
<item>-o-transition</item>
<item>-o-transform-origin</item>
<!-- konq specific -->
<item>konq_bgpos_x</item>
<item>konq_bgpos_y</item>
<item>-khtml-background-size</item>
<item>-khtml-border-top-left-radius</item>
<item>-khtml-border-top-right-radius</item>
<item>-khtml-border-bottom-left-radius</item>
<item>-khtml-border-bottom-right-radius</item>
<item>-khtml-border-radius</item>
<item>-khtml-box-shadow</item>
<item>-khtml-opacity</item>
<!-- Webkit rendering engine CSS property extensions -->
<item>-webkit-appearance</item>
<item>-webkit-animation</item>
<item>-webkit-animation-name</item>
<item>-webkit-animation-duration</item>
<item>-webkit-animation-iteration</item>
<item>-webkit-animation-direction</item>
<item>-webkit-animation-delay</item>
<item>-webkit-animation-play-state</item>
<item>-webkit-animation-fill-mode</item>
<item>-webkit-background-size</item>
<item>-webkit-backface-visibility</item>
<item>-webkit-border-image</item>
<item>-webkit-border-bottom-colors</item>
<item>-webkit-border-left-colors</item>
<item>-webkit-border-radius</item>
<item>-webkit-border-right-colors</item>
<item>-webkit-border-top-colors</item>
<item>-webkit-border-top-left-radius</item>
<item>-webkit-border-top-right-radius</item>
<item>-webkit-border-bottom-left-radius</item>
<item>-webkit-border-bottom-right-radius</item>
<item>-webkit-border-radius-bottomleft</item>
<item>-webkit-border-radius-bottomright</item>
<item>-webkit-box-align</item>
<item>-webkit-box-direction</item>
<item>-webkit-box-flex</item>
<item>-webkit-box-ordinal-group</item>
<item>-webkit-box-orient</item>
<item>-webkit-box-pack</item>
<item>-webkit-box-reflect</item>
<item>-webkit-box-shadow</item>
<item>-webkit-box-sizing</item>
<item>-webkit-column-count</item>
<item>-webkit-column-gap</item>
<item>-webkit-hyphens</item>
<item>-webkit-linear-gradient</item>
<item>-webkit-gradient</item>
<item>-webkit-overflow-scrolling</item>
<item>-webkit-perspective</item>
<item>-webkit-text-decoration</item>
<item>-webkit-text-decoration-skip</item>
<item>-webkit-text-fill-color</item>
<item>-webkit-text-stroke-color</item>
<item>-webkit-text-stroke-width</item>
<item>-webkit-text-size-adjust</item>
<item>-webkit-tap-highlight-color</item>
<item>-webkit-transform</item>
<item>-webkit-transform-origin</item>
<item>-webkit-transform-style</item>
<item>-webkit-transition</item>
<item>-webkit-transition-property</item>
<item>-webkit-transition-delay</item>
<item>-webkit-transition-duration</item>
<item>-webkit-user-select</item>
<!-- Trident (a.k.a., MSHTML) CSS property extensions -->
<item>zoom</item>
<item>-ms-animation-name</item>
<item>-ms-animation-duration</item>
<item>-ms-animation-iteration</item>
<item>-ms-animation-direction</item>
<item>-ms-animation-delay</item>
<item>-ms-animation-play-state</item>
<item>-ms-animation-fill-mode</item>
<item>-ms-box-sizing</item>
<item>-ms-filter</item>
<item>-ms-flex</item>
<item>-ms-flex-align</item>
<item>-ms-flex-direction</item>
<item>-ms-flex-flow</item>
<item>-ms-flex-item-align</item>
<item>-ms-flex-line-pack</item>
<item>-ms-flex-negative</item>
<item>-ms-flex-order</item>
<item>-ms-flex-pack</item>
<item>-ms-flex-positive</item>
<item>-ms-flex-position</item>
<item>-ms-flex-preferred-size</item>
<item>-ms-flex-wrap</item>
<item>-ms-interpolation-mode</item>
<item>-ms-linear-gradient</item>
<item>-ms-overflow-style</item>
<item>-ms-text-size-adjust</item>
<item>-ms-transform</item>
<item>-ms-transition</item>
<item>-ms-user-select</item>
</list>
<list name="value keywords">
<item>inherit</item>
<item>unset</item>
<item>auto</item>
<!-- <item>revert</item> -->
</list>
<list name="values">
<item>none</item>
<item>hidden</item>
<item>dotted</item>
<item>dashed</item>
<item>solid</item>
<item>double</item>
<item>groove</item>
<item>ridge</item>
<item>inset</item>
<item>outset</item>
<item>xx-small</item>
<item>x-small</item>
<item>small</item>
<item>medium</item>
<item>large</item>
<item>x-large</item>
<item>xx-large</item>
<item>smaller</item>
<item>larger</item>
<item>italic</item>
<item>oblique</item>
<item>small-caps</item>
<item>normal</item>
<item>bold</item>
<item>bolder</item>
<item>lighter</item>
<item>light</item>
<item>transparent</item>
<item>repeat</item>
<item>repeat-x</item>
<item>repeat-y</item>
<item>no-repeat</item>
<item>baseline</item>
<item>sub</item>
<item>super</item>
<item>top</item>
<item>text-top</item>
<item>middle</item>
<item>bottom</item>
<item>text-bottom</item>
<item>left</item>
<item>right</item>
<item>center</item>
<item>justify</item>
<item>konq-center</item>
<item>disc</item>
<item>circle</item>
<item>square</item>
<item>box</item>
<item>decimal</item>
<item>decimal-leading-zero</item>
<item>lower-roman</item>
<item>upper-roman</item>
<item>lower-greek</item>
<item>lower-alpha</item>
<item>lower-latin</item>
<item>upper-alpha</item>
<item>upper-latin</item>
<item>hebrew</item>
<item>armenian</item>
<item>georgian</item>
<item>cjk-ideographic</item>
<item>hiragana</item>
<item>katakana</item>
<item>hiragana-iroha</item>
<item>katakana-iroha</item>
<item>inline</item>
<item>inline-block</item>
<item>block</item>
<item>list-item</item>
<item>run-in</item>
<item>compact</item>
<item>marker</item>
<item>table</item>
<item>inline-table</item>
<item>table-row-group</item>
<item>table-header-group</item>
<item>table-footer-group</item>
<item>table-row</item>
<item>table-column-group</item>
<item>table-column</item>
<item>table-cell</item>
<item>table-caption</item>
<item>crosshair</item>
<item>default</item>
<item>pointer</item>
<item>move</item>
<item>e-resize</item>
<item>ne-resize</item>
<item>nw-resize</item>
<item>n-resize</item>
<item>se-resize</item>
<item>sw-resize</item>
<item>s-resize</item>
<item>w-resize</item>
<item>text</item>
<item>wait</item>
<item>help</item>
<item>above</item>
<item>absolute</item>
<item>always</item>
<item>avoid</item>
<item>below</item>
<item>bidi-override</item>
<item>blink</item>
<item>both</item>
<item>capitalize</item>
<item>caption</item>
<item>clip</item>
<item>close-quote</item>
<item>collapse</item>
<item>condensed</item>
<item>crop</item>
<item>cross</item>
<item>ellipsis</item>
<item>ellipsis-word</item>
<item>embed</item>
<item>expanded</item>
<item>extra-condensed</item>
<item>extra-expanded</item>
<item>fixed</item>
<item>hand</item>
<item>hide</item>
<item>higher</item>
<item>icon</item>
<item>inside</item>
<item>invert</item>
<item>landscape</item>
<item>level</item>
<item>line-through</item>
<item>loud</item>
<item>lower</item>
<item>lowercase</item>
<item>ltr</item>
<item>menu</item>
<item>message-box</item>
<item>mix</item>
<item>narrower</item>
<item>no-close-quote</item>
<item>no-open-quote</item>
<item>nowrap</item>
<item>open-quote</item>
<item>outside</item>
<item>overline</item>
<item>portrait</item>
<item>pre</item>
<item>pre-line</item>
<item>pre-wrap</item>
<item>relative</item>
<item>rtl</item>
<item>scroll</item>
<item>semi-condensed</item>
<item>semi-expanded</item>
<item>separate</item>
<item>show</item>
<item>small-caption</item>
<item>static</item>
<item>static-position</item>
<item>status-bar</item>
<item>thick</item>
<item>thin</item>
<item>ultra-condensed</item>
<item>ultra-expanded</item>
<item>underline</item>
<item>uppercase</item>
<item>visible</item>
<item>wider</item>
<item>break</item>
<item>serif</item>
<item>sans-serif</item>
<item>cursive</item>
<item>fantasy</item>
<item>monospace</item>
<item>border-box</item>
<item>content-box</item>
<item>-epub-hyphens</item>
<item>contain</item>
<item>cover</item>
<!-- transition and animation -->
<item>all</item>
<item>ease</item>
<item>ease-in</item>
<item>ease-out</item>
<item>ease-in-out</item>
<item>step-start</item>
<item>step-end</item>
<item>linear</item>
<!-- animation -->
<item>infinite</item>
<item>reverse</item>
<item>alternate</item>
<item>alternate-reverse</item>
<item>forwards</item>
<item>backwards</item>
<item>running</item>
<item>paused</item>
</list>
<list name="colors">
<item>black</item>
<item>silver</item>
<item>gray</item>
<item>white</item>
<item>maroon</item>
<item>red</item>
<item>purple</item>
<item>fuchsia</item>
<item>green</item>
<item>lime</item>
<item>olive</item>
<item>yellow</item>
<item>navy</item>
<item>blue</item>
<item>teal</item>
<item>aqua</item>
<item>orange</item>
<item>aliceblue</item>
<item>antiquewhite</item>
<item>aquamarine</item>
<item>azure</item>
<item>beige</item>
<item>bisque</item>
<item>blanchedalmond</item>
<item>blueviolet</item>
<item>brown</item>
<item>burlywood</item>
<item>cadetblue</item>
<item>chartreuse</item>
<item>chocolate</item>
<item>coral</item>
<item>cornflowerblue</item>
<item>cornsilk</item>
<item>crimson</item>
<item>cyan</item>
<item>aqua</item>
<item>darkblue</item>
<item>darkcyan</item>
<item>darkgoldenrod</item>
<item>darkgray</item>
<item>darkgreen</item>
<item>darkgrey</item>
<item>darkkhaki</item>
<item>darkmagenta</item>
<item>darkolivegreen</item>
<item>darkorange</item>
<item>darkorchid</item>
<item>darkred</item>
<item>darksalmon</item>
<item>darkseagreen</item>
<item>darkslateblue</item>
<item>darkslategray</item>
<item>darkslategrey</item>
<item>darkturquoise</item>
<item>darkviolet</item>
<item>deeppink</item>
<item>deepskyblue</item>
<item>dimgray</item>
<item>dimgrey</item>
<item>dodgerblue</item>
<item>firebrick</item>
<item>floralwhite</item>
<item>forestgreen</item>
<item>gainsboro</item>
<item>ghostwhite</item>
<item>gold</item>
<item>goldenrod</item>
<item>greenyellow</item>
<item>grey</item>
<item>honeydew</item>
<item>hotpink</item>
<item>indianred</item>
<item>indigo</item>
<item>ivory</item>
<item>khaki</item>
<item>lavender</item>
<item>lavenderblush</item>
<item>lawngreen</item>
<item>lemonchiffon</item>
<item>lightblue</item>
<item>lightcoral</item>
<item>lightcyan</item>
<item>lightgoldenrodyellow</item>
<item>lightgray</item>
<item>lightgreen</item>
<item>lightgrey</item>
<item>lightpink</item>
<item>lightsalmon</item>
<item>lightseagreen</item>
<item>lightskyblue</item>
<item>lightslategray</item>
<item>lightslategrey</item>
<item>lightsteelblue</item>
<item>lightyellow</item>
<item>limegreen</item>
<item>linen</item>
<item>magenta</item>
<item>fuchsia</item>
<item>mediumaquamarine</item>
<item>mediumblue</item>
<item>mediumorchid</item>
<item>mediumpurple</item>
<item>mediumseagreen</item>
<item>mediumslateblue</item>
<item>mediumspringgreen</item>
<item>mediumturquoise</item>
<item>mediumvioletred</item>
<item>midnightblue</item>
<item>mintcream</item>
<item>mistyrose</item>
<item>moccasin</item>
<item>navajowhite</item>
<item>oldlace</item>
<item>olivedrab</item>
<item>orangered</item>
<item>orchid</item>
<item>palegoldenrod</item>
<item>palegreen</item>
<item>paleturquoise</item>
<item>palevioletred</item>
<item>papayawhip</item>
<item>peachpuff</item>
<item>peru</item>
<item>pink</item>
<item>plum</item>
<item>powderblue</item>
<item>rosybrown</item>
<item>royalblue</item>
<item>saddlebrown</item>
<item>salmon</item>
<item>sandybrown</item>
<item>seagreen</item>
<item>seashell</item>
<item>sienna</item>
<item>skyblue</item>
<item>slateblue</item>
<item>slategray</item>
<item>slategrey</item>
<item>snow</item>
<item>springgreen</item>
<item>steelblue</item>
<item>tan</item>
<item>thistle</item>
<item>tomato</item>
<item>turquoise</item>
<item>violet</item>
<item>wheat</item>
<item>whitesmoke</item>
<item>yellowgreen</item>
<item>rebeccapurple</item>
<item>ActiveBorder</item>
<item>ActiveCaption</item>
<item>AppWorkspace</item>
<item>Background</item>
<item>ButtonFace</item>
<item>ButtonHighlight</item>
<item>ButtonShadow</item>
<item>ButtonText</item>
<item>CaptionText</item>
<item>GrayText</item>
<item>Highlight</item>
<item>HighlightText</item>
<item>InactiveBorder</item>
<item>InactiveCaption</item>
<item>InactiveCaptionText</item>
<item>InfoBackground</item>
<item>InfoText</item>
<item>Menu</item>
<item>MenuText</item>
<item>Scrollbar</item>
<item>ThreeDDarkShadow</item>
<item>ThreeDFace</item>
<item>ThreeDHighlight</item>
<item>ThreeDLightShadow</item>
<item>ThreeDShadow</item>
<item>Window</item>
<item>WindowFrame</item>
<item>WindowText</item>
</list>
<list name="functions">
<item>attr</item>
<item>calc</item>
<item>hsl</item>
<item>hsla</item>
<item>linear-gradient</item>
<item>radial-gradient</item>
<item>repeating-linear-gradient</item>
<item>repeating-radial-gradient</item>
<item>rgb</item>
<item>rgba</item>
<item>var</item>
<item>url</item>
<!-- clip -->
<item>rect</item>
<!-- shape-outside and clip-path -->
<item>inset</item>
<item>circle</item>
<item>ellipse</item>
<item>polygon</item>
<!-- filter and backdrop-filter -->
<item>blur</item>
<item>brightness</item>
<item>contrast</item>
<item>drop-shadow</item>
<item>grayscale</item>
<item>hue-rotate</item>
<item>invert</item>
<item>opacity</item>
<item>saturate</item>
<item>sepia</item>
<!-- grid-template-columns and grid-template-rows -->
<item>max-content</item>
<item>min-content</item>
<item>minmax</item>
<item>fix-content</item>
<item>repeat</item>
<!-- transition and animation -->
<item>cubic-bezier</item>
<item>frames</item>
<item>steps</item>
<!-- transform -->
<item>matrix</item>
<item>matrix3d</item>
<item>perspective</item>
<item>rotate</item>
<item>rotate3d</item>
<item>rotateX</item>
<item>rotateY</item>
<item>rotateZ</item>
<item>scale</item>
<item>scale3d</item>
<item>scaleX</item>
<item>scaleY</item>
<item>scaleZ</item>
<item>skew</item>
<item>skewX</item>
<item>skewY</item>
<item>translate</item>
<item>translate3d</item>
<item>translateX</item>
<item>translateY</item>
<item>translateZ</item>
<!-- inner @font-face -->
<item>local</item>
<item>format</item>
</list>
<list name="medias">
<!-- types -->
<item>all</item>
<item>print</item>
<item>screen</item>
<item>speech</item>
<!-- features -->
<item>any-pointer</item>
<item>any-hover</item>
<item>aspect-ratio</item>
<item>color</item>
<item>color-gamut</item>
<item>color-index</item>
<item>display-mode</item>
<item>grid</item>
<item>height</item>
<item>hover</item>
<item>max-aspect-ratio</item>
<item>max-color</item>
<item>max-color-index</item>
<item>max-device-aspect-ratio</item>
<item>max-device-height</item>
<item>max-device-width</item>
<item>max-height</item>
<item>max-monochrome</item>
<item>max-resolution</item>
<item>max-width</item>
<item>min-aspect-ratio</item>
<item>min-color</item>
<item>min-color-index</item>
<item>min-device-aspect-ratio</item>
<item>min-device-height</item>
<item>min-device-width</item>
<item>min-height</item>
<item>min-monochrome</item>
<item>min-resolution</item>
<item>min-width</item>
<item>monochrome</item>
<item>orientation</item>
<item>pointer</item>
<item>resolution</item>
<item>scan</item>
<item>update</item>
<item>width</item>
</list>
<!-- prefixed by :: -->
<list name="pseudoelements">
<item>after</item>
<item>before</item>
<item>cue</item>
<item>first-letter</item>
<item>first-line</item>
<item>selection</item>
<!-- experimental -->
<item>backdrop</item>
<item>placeholder</item>
<!-- <item>marker</item> -->
<item>slotted</item>
<!-- <item>spelling-error</item> -->
<!-- <item>grammar-error</item> -->
<!-- UI pseudo-classes -->
<item>value</item>
<item>choices</item>
<item>repeat-item</item>
<item>repeat-index</item>
<item>-moz-progress-bar</item>
<item>-moz-range-progress</item>
<item>-moz-range-thumb</item>
<item>-moz-range-track</item>
<item>-moz-selection</item>
<item>-ms-fill</item>
<item>-ms-fill-lower</item>
<item>-ms-fill-upper</item>
<item>-ms-thumb</item>
<item>-ms-track</item>
<item>-webkit-progress-bar</item>
<item>-webkit-progress-value</item>
<item>-webkit-slider-runnable-track</item>
<item>-webkit-slider-thumb</item>
</list>
<!-- prefixed by : -->
<list name="pseudoclasses">
<item>active</item>
<item>any-link</item>
<item>checked</item>
<item>default</item>
<item>defined</item>
<!-- <item>dir</item> -->
<item>disabled</item>
<item>empty</item>
<item>enabled</item>
<item>first-child</item>
<item>first-of-type</item>
<item>fullscreen</item>
<item>focus</item>
<item>focus-within</item>
<item>host</item>
<item>hover</item>
<item>in-range</item>
<item>indeterminate</item>
<item>invalid</item>
<item>lang</item>
<item>last-child</item>
<item>last-of-type</item>
<item>link</item>
<item>not</item>
<item>nth-child</item>
<item>nth-last-child</item>
<item>nth-last-of-type</item>
<item>nth-of-type</item>
<item>only-child</item>
<item>only-of-type</item>
<item>optional</item>
<item>out-of-range</item>
<item>placeholder-shown</item>
<item>read-only</item>
<item>read-write</item>
<item>required</item>
<item>root</item>
<item>scope</item>
<item>target</item>
<item>valid</item>
<item>visited</item>
<!-- pseudo-elements -->
<item>after</item>
<item>before</item>
<item>cue</item>
<item>first-letter</item>
<item>first-line</item>
<item>selection</item>
</list>
<list name="pseudoclass-selector">
<item>not</item>
<item>matches</item>
</list>
<list name="pseudoclasses-@page">
<item>blank</item>
<item>first</item>
<item>left</item>
<item>recto</item>
<item>right</item>
<item>verso</item>
</list>
<list name="at-rules">
<item>@character</item>
<item>@charset</item>
<item>@import</item>
<item>@namespace</item>
</list>
<list name="nested at-rules">
<item>@document</item>
<item>@media</item>
<item>@supports</item>
</list>
<list name="@viewport">
<item>@viewport</item>
</list>
<list name="within-@viewport">
<item>min-width</item>
<item>max-width</item>
<item>width</item>
<item>min-height</item>
<item>max-height</item>
<item>height</item>
<item>zoom</item>
<item>min-zoom</item>
<item>max-zoom</item>
<item>user-zoom</item>
<item>orientation</item>
<item>viewport-fit</item>
</list>
<list name="@page">
<item>@page</item>
</list>
<list name="within-@page">
<item>size</item>
<item>marks</item>
<item>bleed</item>
</list>
<list name="@font-face">
<item>@font-face</item>
</list>
<list name="within-@font-face">
<item>font-display</item>
<item>font-family</item>
<item>font-stretch</item>
<item>font-style</item>
<item>font-weight</item>
<item>font-variant</item>
<item>font-feature-settings</item>
<item>font-variation-settings</item>
<item>src</item>
<item>unicode-range</item>
</list>
<list name="@keyframes">
<item>@keyframes</item>
</list>
<list name="within-@keyframes">
<item>from</item>
<item>to</item>
</list>
<list name="media operators">
<item>and</item>
<item>only</item>
<item>not</item>
</list>
<contexts>
<context name="Base" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />
<DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />
<!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->
<DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />
<DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />
<DetectChar attribute="Separator Symbol" context="#stay" char="," />
<AnyChar attribute="Operator" context="#stay" String="*>+~|" />
<RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />
<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
<RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
</context>
<context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindComments" />
<!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->
<DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />
<DetectChar attribute="Separator Symbol" context="#stay" char="," />
<AnyChar attribute="Operator" context="#stay" String="*>+~|" />
<RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />
<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
<RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
</context>
<!-- find functions // rgba(255,255,255,0.75) -->
<context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />
</context>
<!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->
<context name="FindValues" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Annotation" context="Annotation" char="!" />
<keyword attribute="Value Keyword" context="#stay" String="value keywords" />
<keyword attribute="Value" context="#stay" String="values" />
<keyword attribute="Color" context="#stay" String="colors" />
<RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />
<RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])" />
<RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
</context>
<context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<WordDetect attribute="Annotation" context="#pop" String="important" />
</context>
<context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<!-- https://drafts.csswg.org/css-values-4/#lengths -->
<RegExpr attribute="Unit" context="#stay" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x)\b)(?![-+])" />
</context>
<!-- find strings // "some words" 'some words' -->
<context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="String" context="StringDQ" char=""" />
<DetectChar attribute="String" context="StringSQ" char="'" />
</context>
<!-- find comments // /* comment */ -->
<context name="FindComments" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>
<Detect2Chars attribute="Error" context="Error" char="/" char1="/" />
</context>
<context name="Error" attribute="Error" lineEndContext="#pop">
<RegExpr attribute="Error" context="#pop" String=".*" />
</context>
<context name="IsComments" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Region Marker" context="#pop" String="/\*\s*BEGIN\b.*\*/" beginRegion="UserDefined" />
<RegExpr attribute="Region Marker" context="#pop" String="/\*\s*END\b.*\*/" endRegion="UserDefined" />
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />
</context>
<context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">
<keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />
<keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />
<keyword attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />
<keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />
<keyword attribute="At Rule" context="#pop!@font-face" String="@font-face" />
<keyword attribute="At Rule" context="#pop!@page" String="@page" />
<RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />
</context>
<context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />
</context>
<context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />
<DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />
<keyword attribute="Value" context="#stay" String="within-@keyframes" />
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />
</context>
<context name="@viewport" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />
<DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />
</context>
<context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<keyword attribute="Property" context="IsProperty" String="within-@viewport" />
<IncludeRules context="RuleSet" />
</context>
<context name="@font-face" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />
</context>
<context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<keyword attribute="Property" context="IsProperty" String="within-@font-face" />
<RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
</context>
<context name="@page" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />
<DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />
</context>
<context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop">
<keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />
<RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />
</context>
<context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<keyword attribute="Property" context="IsProperty" String="within-@page" />
<IncludeRules context="RuleSet" />
</context>
<context name="IsProperty" attribute="Error" lineEndContext="#stay">
<DetectSpaces attribute="Normal Text" />
<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />
</context>
<context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Normal Text" context="NestedBase" char="{" beginRegion="ruleset" />
<IncludeRules context="AtRuleValue" />
</context>
<context name="NestedBase" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />
<IncludeRules context="Base" />
</context>
<context name="AtRule" attribute="Normal Text" lineEndContext="#pop">
<DetectSpaces />
<DetectChar attribute="Separator Symbol" context="#pop" char=";" />
<IncludeRules context="AtRuleValue" />
</context>
<context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Separator Symbol" context="#pop" char=";" />
<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
<IncludeRules context="AtRuleValue" />
</context>
<context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindFunctions" />
<keyword attribute="Keyword" context="#stay" String="media operators" />
<RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />
<keyword attribute="Value" context="#stay" String="medias" />
<IncludeRules context="FindValues" />
</context>
<context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">
<DetectChar attribute="Selector Attribute" context="#pop" char="]" />
<IncludeRules context="FindStrings" />
<DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />
<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />
<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />
<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />
<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />
<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />
<DetectIdentifier />
</context>
<context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">
<DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />
<DetectIdentifier />
</context>
<context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">
<DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />
<keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />
<keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />
<RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />
</context>
<context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">
<keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />
<RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />
</context>
<context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
<DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />
</context>
<context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />
<DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />
<IncludeRules context="FindSelector" />
</context>
<context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
<DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />
</context>
<context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">
<DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />
<DetectIdentifier />
</context>
<context name="Comment" attribute="Comment" lineEndContext="#stay">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />
<IncludeRules context="##Alerts" />
<IncludeRules context="##Modelines" />
<DetectIdentifier />
</context>
<context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
<RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+(?=\s*:)" lookAhead="true" />
<IncludeRules context="Base" />
<RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_-]+" />
<!-- auto-completion only, includes by previous rule -->
<keyword attribute="Normal Text" context="#stay" String="properties" />
</context>
<context name="Rule" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />
<Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />
<keyword attribute="Property" context="#stay" String="properties" />
<RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />
</context>
<context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">
<DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />
<RegExpr attribute="Variable" context="#stay" String="[^:]+" />
</context>
<context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindFunctions" />
<IncludeRules context="FindValues" />
<!-- Jump out conditions -->
<DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />
<DetectChar attribute="Separator Symbol" context="#stay" char="," />
<DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />
<!-- auto-completion only -->
<keyword attribute="Normal Text" context="#stay" String="functions" />
</context>
<context name="Function" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Function" context="FunctionParameters" char="(" />
<StringDetect attribute="Function" context="FunctionVar" String="var(" />
<StringDetect attribute="Function" context="FunctionUrl" String="url(" />
<StringDetect attribute="Function" context="FunctionCalc" String="calc(" />
<keyword attribute="Function" context="#stay" String="functions" />
<RegExpr attribute="Normal Text" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />
</context>
<context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">
<DetectSpaces />
<RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />
</context>
<context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Function" context="#pop#pop" char=")" />
<IncludeRules context="Calc" />
</context>
<context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Normal Text" context="#pop" char=")" />
<IncludeRules context="Calc" />
</context>
<context name="Calc" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Separator Symbol" context="#stay" char="," />
<DetectChar attribute="Normal Text" context="NestedCalc" char="(" />
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindFunctions" />
<IncludeRules context="FindValues" />
<RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />
<!-- auto-completion only -->
<keyword attribute="Normal Text" context="#stay" String="functions" />
</context>
<context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">
<DetectSpaces />
<IncludeRules context="FindStrings" />
<DetectChar attribute="Function" context="#pop#pop" char=")" />
</context>
<context name="UrlValue" attribute="String" lineEndContext="#stay">
<DetectChar attribute="Function" context="#pop#pop#pop" char=")" />
</context>
<context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<DetectChar attribute="Function" context="#pop#pop" char=")" />
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindValues" />
<DetectChar attribute="Separator Symbol" context="#stay" char="," />
</context>
<!-- string contexts -->
<context name="StringDQ" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char=""" />
<IncludeRules context="InsideString" />
</context>
<context name="StringSQ" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char="'" />
<IncludeRules context="InsideString" />
</context>
<context name="InsideString" attribute="String" lineEndContext="#stay">
<RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />
<RegExpr attribute="String" context="#stay" String="\\?[^"'\\]+" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>
<itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>
<itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>
<itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>
<itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>
<itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>
<itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>
<itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>
<itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" weakDeliminator="-%@" />
<comments>
<comment name="multiLine" start="/*" end="*/" region="comment" />
</comments>
</general>
</language>
<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->