function mkCSS(e) {
  e = {
    ...defaults,
    ...e
  };
  var r = e.inline, i = e.tokenHooks, a = e.documentTypes || {}, o = e.mediaTypes || {}, s = e.mediaFeatures || {}, c = e.mediaValueKeywords || {}, l = e.propertyKeywords || {}, u = e.nonStandardPropertyKeywords || {}, d = e.fontProperties || {}, f = e.counterDescriptors || {}, p = e.colorKeywords || {}, m = e.valueKeywords || {}, h = e.allowNested, g = e.lineComment, _ = e.supportsAtComponent === true, v = e.highlightNonStandardPropertyKeywords !== false, y, b;
  function x(e2, r2) {
    return y = r2, e2;
  }
  function S(e2, r2) {
    var a2 = e2.next();
    if (i[a2]) {
      var o2 = i[a2](e2, r2);
      if (o2 !== false) return o2;
    }
    if (a2 == "@") return e2.eatWhile(/[\w\\\-]/), x("def", e2.current());
    if (a2 == "=" || (a2 == "~" || a2 == "|") && e2.eat("=")) return x(null, "compare");
    if (a2 == '"' || a2 == "'") return r2.tokenize = C(a2), r2.tokenize(e2, r2);
    if (a2 == "#") return e2.eatWhile(/[\w\\\-]/), x("atom", "hash");
    if (a2 == "!") return e2.match(/^\s*\w*/), x("keyword", "important");
    if (/\d/.test(a2) || a2 == "." && e2.eat(/\d/)) return e2.eatWhile(/[\w.%]/), x("number", "unit");
    if (a2 === "-") {
      if (/[\d.]/.test(e2.peek())) return e2.eatWhile(/[\w.%]/), x("number", "unit");
      if (e2.match(/^-[\w\\\-]*/)) return e2.eatWhile(/[\w\\\-]/), e2.match(/^\s*:/, false) ? x("def", "variable-definition") : x("variableName", "variable");
      if (e2.match(/^\w+-/)) return x("meta", "meta");
    } else if (/[,+>*\/]/.test(a2)) return x(null, "select-op");
    else if (a2 == "." && e2.match(/^-?[_a-z][_a-z0-9-]*/i)) return x("qualifier", "qualifier");
    else if (/[:;{}\[\]\(\)]/.test(a2)) return x(null, a2);
    else if (e2.match(/^[\w-.]+(?=\()/)) return /^(url(-prefix)?|domain|regexp)$/i.test(e2.current()) && (r2.tokenize = w), x("variableName.function", "variable");
    else if (/[\w\\\-]/.test(a2)) return e2.eatWhile(/[\w\\\-]/), x("property", "word");
    else return x(null, null);
  }
  function C(e2) {
    return function(r2, i2) {
      for (var a2 = false, o2; (o2 = r2.next()) != null; ) {
        if (o2 == e2 && !a2) {
          e2 == ")" && r2.backUp(1);
          break;
        }
        a2 = !a2 && o2 == "\\";
      }
      return (o2 == e2 || !a2 && e2 != ")") && (i2.tokenize = null), x("string", "string");
    };
  }
  function w(e2, r2) {
    return e2.next(), e2.match(/^\s*[\"\')]/, false) ? r2.tokenize = null : r2.tokenize = C(")"), x(null, "(");
  }
  function T(e2, r2, i2) {
    this.type = e2, this.indent = r2, this.prev = i2;
  }
  function E(e2, r2, i2, a2) {
    return e2.context = new T(i2, r2.indentation() + (a2 === false ? 0 : r2.indentUnit), e2.context), i2;
  }
  function D(e2) {
    return e2.context.prev && (e2.context = e2.context.prev), e2.context.type;
  }
  function O(e2, r2, i2) {
    return j[i2.context.type](e2, r2, i2);
  }
  function k(e2, r2, i2, a2) {
    for (var o2 = a2 || 1; o2 > 0; o2--) i2.context = i2.context.prev;
    return O(e2, r2, i2);
  }
  function A(e2) {
    var r2 = e2.current().toLowerCase();
    b = m.hasOwnProperty(r2) ? "atom" : p.hasOwnProperty(r2) ? "keyword" : "variable";
  }
  var j = {};
  return j.top = function(e2, r2, i2) {
    if (e2 == "{") return E(i2, r2, "block");
    if (e2 == "}" && i2.context.prev) return D(i2);
    if (_ && /@component/i.test(e2)) return E(i2, r2, "atComponentBlock");
    if (/^@(-moz-)?document$/i.test(e2)) return E(i2, r2, "documentTypes");
    if (/^@(media|supports|(-moz-)?document|import)$/i.test(e2)) return E(i2, r2, "atBlock");
    if (/^@(font-face|counter-style)/i.test(e2)) return i2.stateArg = e2, "restricted_atBlock_before";
    if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e2)) return "keyframes";
    if (e2 && e2.charAt(0) == "@") return E(i2, r2, "at");
    if (e2 == "hash") b = "builtin";
    else if (e2 == "word") b = "tag";
    else if (e2 == "variable-definition") return "maybeprop";
    else if (e2 == "interpolation") return E(i2, r2, "interpolation");
    else if (e2 == ":") return "pseudo";
    else if (h && e2 == "(") return E(i2, r2, "parens");
    return i2.context.type;
  }, j.block = function(e2, r2, i2) {
    if (e2 == "word") {
      var a2 = r2.current().toLowerCase();
      return l.hasOwnProperty(a2) ? (b = "property", "maybeprop") : u.hasOwnProperty(a2) ? (b = v ? "string.special" : "property", "maybeprop") : h ? (b = r2.match(/^\s*:(?:\s|$)/, false) ? "property" : "tag", "block") : (b = "error", "maybeprop");
    } else if (e2 == "meta") return "block";
    else if (!h && (e2 == "hash" || e2 == "qualifier")) return b = "error", "block";
    else return j.top(e2, r2, i2);
  }, j.maybeprop = function(e2, r2, i2) {
    return e2 == ":" ? E(i2, r2, "prop") : O(e2, r2, i2);
  }, j.prop = function(e2, r2, i2) {
    if (e2 == ";") return D(i2);
    if (e2 == "{" && h) return E(i2, r2, "propBlock");
    if (e2 == "}" || e2 == "{") return k(e2, r2, i2);
    if (e2 == "(") return E(i2, r2, "parens");
    if (e2 == "hash" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(r2.current())) b = "error";
    else if (e2 == "word") A(r2);
    else if (e2 == "interpolation") return E(i2, r2, "interpolation");
    return "prop";
  }, j.propBlock = function(e2, r2, i2) {
    return e2 == "}" ? D(i2) : e2 == "word" ? (b = "property", "maybeprop") : i2.context.type;
  }, j.parens = function(e2, r2, i2) {
    return e2 == "{" || e2 == "}" ? k(e2, r2, i2) : e2 == ")" ? D(i2) : e2 == "(" ? E(i2, r2, "parens") : e2 == "interpolation" ? E(i2, r2, "interpolation") : (e2 == "word" && A(r2), "parens");
  }, j.pseudo = function(e2, r2, i2) {
    return e2 == "meta" ? "pseudo" : e2 == "word" ? (b = "variableName.constant", i2.context.type) : O(e2, r2, i2);
  }, j.documentTypes = function(e2, r2, i2) {
    return e2 == "word" && a.hasOwnProperty(r2.current()) ? (b = "tag", i2.context.type) : j.atBlock(e2, r2, i2);
  }, j.atBlock = function(e2, r2, i2) {
    if (e2 == "(") return E(i2, r2, "atBlock_parens");
    if (e2 == "}" || e2 == ";") return k(e2, r2, i2);
    if (e2 == "{") return D(i2) && E(i2, r2, h ? "block" : "top");
    if (e2 == "interpolation") return E(i2, r2, "interpolation");
    if (e2 == "word") {
      var a2 = r2.current().toLowerCase();
      b = a2 == "only" || a2 == "not" || a2 == "and" || a2 == "or" ? "keyword" : o.hasOwnProperty(a2) ? "attribute" : s.hasOwnProperty(a2) ? "property" : c.hasOwnProperty(a2) ? "keyword" : l.hasOwnProperty(a2) ? "property" : u.hasOwnProperty(a2) ? v ? "string.special" : "property" : m.hasOwnProperty(a2) ? "atom" : p.hasOwnProperty(a2) ? "keyword" : "error";
    }
    return i2.context.type;
  }, j.atComponentBlock = function(e2, r2, i2) {
    return e2 == "}" ? k(e2, r2, i2) : e2 == "{" ? D(i2) && E(i2, r2, h ? "block" : "top", false) : (e2 == "word" && (b = "error"), i2.context.type);
  }, j.atBlock_parens = function(e2, r2, i2) {
    return e2 == ")" ? D(i2) : e2 == "{" || e2 == "}" ? k(e2, r2, i2, 2) : j.atBlock(e2, r2, i2);
  }, j.restricted_atBlock_before = function(e2, r2, i2) {
    return e2 == "{" ? E(i2, r2, "restricted_atBlock") : e2 == "word" && i2.stateArg == "@counter-style" ? (b = "variable", "restricted_atBlock_before") : O(e2, r2, i2);
  }, j.restricted_atBlock = function(e2, r2, i2) {
    return e2 == "}" ? (i2.stateArg = null, D(i2)) : e2 == "word" ? (b = i2.stateArg == "@font-face" && !d.hasOwnProperty(r2.current().toLowerCase()) || i2.stateArg == "@counter-style" && !f.hasOwnProperty(r2.current().toLowerCase()) ? "error" : "property", "maybeprop") : "restricted_atBlock";
  }, j.keyframes = function(e2, r2, i2) {
    return e2 == "word" ? (b = "variable", "keyframes") : e2 == "{" ? E(i2, r2, "top") : O(e2, r2, i2);
  }, j.at = function(e2, r2, i2) {
    return e2 == ";" ? D(i2) : e2 == "{" || e2 == "}" ? k(e2, r2, i2) : (e2 == "word" ? b = "tag" : e2 == "hash" && (b = "builtin"), "at");
  }, j.interpolation = function(e2, r2, i2) {
    return e2 == "}" ? D(i2) : e2 == "{" || e2 == ";" ? k(e2, r2, i2) : (e2 == "word" ? b = "variable" : e2 != "variable" && e2 != "(" && e2 != ")" && (b = "error"), "interpolation");
  }, {
    name: e.name,
    startState: function() {
      return {
        tokenize: null,
        state: r ? "block" : "top",
        stateArg: null,
        context: new T(r ? "block" : "top", 0, null)
      };
    },
    token: function(e2, r2) {
      if (!r2.tokenize && e2.eatSpace()) return null;
      var i2 = (r2.tokenize || S)(e2, r2);
      return i2 && typeof i2 == "object" && (y = i2[1], i2 = i2[0]), b = i2, y != "comment" && (r2.state = j[r2.state](y, e2, r2)), b;
    },
    indent: function(e2, r2, i2) {
      var a2 = e2.context, o2 = r2 && r2.charAt(0), s2 = a2.indent;
      return a2.type == "prop" && (o2 == "}" || o2 == ")") && (a2 = a2.prev), a2.prev && (o2 == "}" && (a2.type == "block" || a2.type == "top" || a2.type == "interpolation" || a2.type == "restricted_atBlock") ? (a2 = a2.prev, s2 = a2.indent) : (o2 == ")" && (a2.type == "parens" || a2.type == "atBlock_parens") || o2 == "{" && (a2.type == "at" || a2.type == "atBlock")) && (s2 = Math.max(0, a2.indent - i2.unit))), s2;
    },
    languageData: {
      indentOnInput: /^\s*\}$/,
      commentTokens: {
        line: g,
        block: {
          open: "/*",
          close: "*/"
        }
      },
      autocomplete: allWords
    }
  };
}
function keySet(e) {
  for (var r = {}, i = 0; i < e.length; ++i) r[e[i].toLowerCase()] = true;
  return r;
}
var documentTypes_ = [
  "domain",
  "regexp",
  "url",
  "url-prefix"
], documentTypes = keySet(documentTypes_), mediaTypes_ = [
  "all",
  "aural",
  "braille",
  "handheld",
  "print",
  "projection",
  "screen",
  "tty",
  "tv",
  "embossed"
], mediaTypes = keySet(mediaTypes_), mediaFeatures_ = /* @__PURE__ */ "width.min-width.max-width.height.min-height.max-height.device-width.min-device-width.max-device-width.device-height.min-device-height.max-device-height.aspect-ratio.min-aspect-ratio.max-aspect-ratio.device-aspect-ratio.min-device-aspect-ratio.max-device-aspect-ratio.color.min-color.max-color.color-index.min-color-index.max-color-index.monochrome.min-monochrome.max-monochrome.resolution.min-resolution.max-resolution.scan.grid.orientation.device-pixel-ratio.min-device-pixel-ratio.max-device-pixel-ratio.pointer.any-pointer.hover.any-hover.prefers-color-scheme.dynamic-range.video-dynamic-range".split("."), mediaFeatures = keySet(mediaFeatures_), mediaValueKeywords_ = [
  "landscape",
  "portrait",
  "none",
  "coarse",
  "fine",
  "on-demand",
  "hover",
  "interlace",
  "progressive",
  "dark",
  "light",
  "standard",
  "high"
], mediaValueKeywords = keySet(mediaValueKeywords_), propertyKeywords_ = /* @__PURE__ */ "align-content.align-items.align-self.alignment-adjust.alignment-baseline.all.anchor-point.animation.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-timing-function.appearance.azimuth.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.binding.bleed.block-size.bookmark-label.bookmark-level.bookmark-state.bookmark-target.border.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-decoration-break.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.color.color-profile.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.content.counter-increment.counter-reset.crop.cue.cue-after.cue-before.cursor.direction.display.dominant-baseline.drop-initial-after-adjust.drop-initial-after-align.drop-initial-before-adjust.drop-initial-before-align.drop-initial-size.drop-initial-value.elevation.empty-cells.fit.fit-content.fit-position.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.float-offset.flow-from.flow-into.font.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-size.font-size-adjust.font-stretch.font-style.font-synthesis.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.gap.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-gap.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-gap.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphens.icon.image-orientation.image-rendering.image-resolution.inline-box-align.inset.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.left.letter-spacing.line-break.line-height.line-height-step.line-stacking.line-stacking-ruby.line-stacking-shift.line-stacking-strategy.list-style.list-style-image.list-style-position.list-style-type.margin.margin-bottom.margin-left.margin-right.margin-top.marks.marquee-direction.marquee-loop.marquee-play-count.marquee-speed.marquee-style.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.move-to.nav-down.nav-index.nav-left.nav-right.nav-up.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-style.overflow-wrap.overflow-x.overflow-y.padding.padding-bottom.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.page-policy.pause.pause-after.pause-before.perspective.perspective-origin.pitch.pitch-range.place-content.place-items.place-self.play-during.position.presentation-level.punctuation-trim.quotes.region-break-after.region-break-before.region-break-inside.region-fragment.rendering-intent.resize.rest.rest-after.rest-before.richness.right.rotate.rotation.rotation-point.row-gap.ruby-align.ruby-overhang.ruby-position.ruby-span.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-type.shape-image-threshold.shape-inside.shape-margin.shape-outside.size.speak.speak-as.speak-header.speak-numeral.speak-punctuation.speech-rate.stress.string-set.tab-size.table-layout.target.target-name.target-new.target-position.text-align.text-align-last.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-height.text-indent.text-justify.text-orientation.text-outline.text-overflow.text-rendering.text-shadow.text-size-adjust.text-space-collapse.text-transform.text-underline-position.text-wrap.top.touch-action.transform.transform-origin.transform-style.transition.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-select.vertical-align.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.volume.white-space.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.z-index.clip-path.clip-rule.mask.enable-background.filter.flood-color.flood-opacity.lighting-color.stop-color.stop-opacity.pointer-events.color-interpolation.color-interpolation-filters.color-rendering.fill.fill-opacity.fill-rule.image-rendering.marker.marker-end.marker-mid.marker-start.paint-order.shape-rendering.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.text-rendering.baseline-shift.dominant-baseline.glyph-orientation-horizontal.glyph-orientation-vertical.text-anchor.writing-mode".split("."), propertyKeywords = keySet(propertyKeywords_), nonStandardPropertyKeywords_ = /* @__PURE__ */ "accent-color.aspect-ratio.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.content-visibility.margin-block.margin-block-end.margin-block-start.margin-inline.margin-inline-end.margin-inline-start.overflow-anchor.overscroll-behavior.padding-block.padding-block-end.padding-block-start.padding-inline.padding-inline-end.padding-inline-start.scroll-snap-stop.scrollbar-3d-light-color.scrollbar-arrow-color.scrollbar-base-color.scrollbar-dark-shadow-color.scrollbar-face-color.scrollbar-highlight-color.scrollbar-shadow-color.scrollbar-track-color.searchfield-cancel-button.searchfield-decoration.searchfield-results-button.searchfield-results-decoration.shape-inside.zoom".split("."), nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_), fontProperties = keySet([
  "font-display",
  "font-family",
  "src",
  "unicode-range",
  "font-variant",
  "font-feature-settings",
  "font-stretch",
  "font-weight",
  "font-style"
]), counterDescriptors = keySet([
  "additive-symbols",
  "fallback",
  "negative",
  "pad",
  "prefix",
  "range",
  "speak-as",
  "suffix",
  "symbols",
  "system"
]), colorKeywords_ = /* @__PURE__ */ "aliceblue.antiquewhite.aqua.aquamarine.azure.beige.bisque.black.blanchedalmond.blue.blueviolet.brown.burlywood.cadetblue.chartreuse.chocolate.coral.cornflowerblue.cornsilk.crimson.cyan.darkblue.darkcyan.darkgoldenrod.darkgray.darkgreen.darkgrey.darkkhaki.darkmagenta.darkolivegreen.darkorange.darkorchid.darkred.darksalmon.darkseagreen.darkslateblue.darkslategray.darkslategrey.darkturquoise.darkviolet.deeppink.deepskyblue.dimgray.dimgrey.dodgerblue.firebrick.floralwhite.forestgreen.fuchsia.gainsboro.ghostwhite.gold.goldenrod.gray.grey.green.greenyellow.honeydew.hotpink.indianred.indigo.ivory.khaki.lavender.lavenderblush.lawngreen.lemonchiffon.lightblue.lightcoral.lightcyan.lightgoldenrodyellow.lightgray.lightgreen.lightgrey.lightpink.lightsalmon.lightseagreen.lightskyblue.lightslategray.lightslategrey.lightsteelblue.lightyellow.lime.limegreen.linen.magenta.maroon.mediumaquamarine.mediumblue.mediumorchid.mediumpurple.mediumseagreen.mediumslateblue.mediumspringgreen.mediumturquoise.mediumvioletred.midnightblue.mintcream.mistyrose.moccasin.navajowhite.navy.oldlace.olive.olivedrab.orange.orangered.orchid.palegoldenrod.palegreen.paleturquoise.palevioletred.papayawhip.peachpuff.peru.pink.plum.powderblue.purple.rebeccapurple.red.rosybrown.royalblue.saddlebrown.salmon.sandybrown.seagreen.seashell.sienna.silver.skyblue.slateblue.slategray.slategrey.snow.springgreen.steelblue.tan.teal.thistle.tomato.turquoise.violet.wheat.white.whitesmoke.yellow.yellowgreen".split("."), colorKeywords = keySet(colorKeywords_), valueKeywords_ = /* @__PURE__ */ "above.absolute.activeborder.additive.activecaption.afar.after-white-space.ahead.alias.all.all-scroll.alphabetic.alternate.always.amharic.amharic-abegede.antialiased.appworkspace.arabic-indic.armenian.asterisks.attr.auto.auto-flow.avoid.avoid-column.avoid-page.avoid-region.axis-pan.background.backwards.baseline.below.bidi-override.binary.bengali.blink.block.block-axis.blur.bold.bolder.border.border-box.both.bottom.break.break-all.break-word.brightness.bullets.button.buttonface.buttonhighlight.buttonshadow.buttontext.calc.cambodian.capitalize.caps-lock-indicator.caption.captiontext.caret.cell.center.checkbox.circle.cjk-decimal.cjk-earthly-branch.cjk-heavenly-stem.cjk-ideographic.clear.clip.close-quote.col-resize.collapse.color.color-burn.color-dodge.column.column-reverse.compact.condensed.conic-gradient.contain.content.contents.content-box.context-menu.continuous.contrast.copy.counter.counters.cover.crop.cross.crosshair.cubic-bezier.currentcolor.cursive.cyclic.darken.dashed.decimal.decimal-leading-zero.default.default-button.dense.destination-atop.destination-in.destination-out.destination-over.devanagari.difference.disc.discard.disclosure-closed.disclosure-open.document.dot-dash.dot-dot-dash.dotted.double.down.drop-shadow.e-resize.ease.ease-in.ease-in-out.ease-out.element.ellipse.ellipsis.embed.end.ethiopic.ethiopic-abegede.ethiopic-abegede-am-et.ethiopic-abegede-gez.ethiopic-abegede-ti-er.ethiopic-abegede-ti-et.ethiopic-halehame-aa-er.ethiopic-halehame-aa-et.ethiopic-halehame-am-et.ethiopic-halehame-gez.ethiopic-halehame-om-et.ethiopic-halehame-sid-et.ethiopic-halehame-so-et.ethiopic-halehame-ti-er.ethiopic-halehame-ti-et.ethiopic-halehame-tig.ethiopic-numeric.ew-resize.exclusion.expanded.extends.extra-condensed.extra-expanded.fantasy.fast.fill.fill-box.fixed.flat.flex.flex-end.flex-start.footnotes.forwards.from.geometricPrecision.georgian.grayscale.graytext.grid.groove.gujarati.gurmukhi.hand.hangul.hangul-consonant.hard-light.hebrew.help.hidden.hide.higher.highlight.highlighttext.hiragana.hiragana-iroha.horizontal.hsl.hsla.hue.hue-rotate.icon.ignore.inactiveborder.inactivecaption.inactivecaptiontext.infinite.infobackground.infotext.inherit.initial.inline.inline-axis.inline-block.inline-flex.inline-grid.inline-table.inset.inside.intrinsic.invert.italic.japanese-formal.japanese-informal.justify.kannada.katakana.katakana-iroha.keep-all.khmer.korean-hangul-formal.korean-hanja-formal.korean-hanja-informal.landscape.lao.large.larger.left.level.lighter.lighten.line-through.linear.linear-gradient.lines.list-item.listbox.listitem.local.logical.loud.lower.lower-alpha.lower-armenian.lower-greek.lower-hexadecimal.lower-latin.lower-norwegian.lower-roman.lowercase.ltr.luminosity.malayalam.manipulation.match.matrix.matrix3d.media-play-button.media-slider.media-sliderthumb.media-volume-slider.media-volume-sliderthumb.medium.menu.menulist.menulist-button.menutext.message-box.middle.min-intrinsic.mix.mongolian.monospace.move.multiple.multiple_mask_images.multiply.myanmar.n-resize.narrower.ne-resize.nesw-resize.no-close-quote.no-drop.no-open-quote.no-repeat.none.normal.not-allowed.nowrap.ns-resize.numbers.numeric.nw-resize.nwse-resize.oblique.octal.opacity.open-quote.optimizeLegibility.optimizeSpeed.oriya.oromo.outset.outside.outside-shape.overlay.overline.padding.padding-box.painted.page.paused.persian.perspective.pinch-zoom.plus-darker.plus-lighter.pointer.polygon.portrait.pre.pre-line.pre-wrap.preserve-3d.progress.push-button.radial-gradient.radio.read-only.read-write.read-write-plaintext-only.rectangle.region.relative.repeat.repeating-linear-gradient.repeating-radial-gradient.repeating-conic-gradient.repeat-x.repeat-y.reset.reverse.rgb.rgba.ridge.right.rotate.rotate3d.rotateX.rotateY.rotateZ.round.row.row-resize.row-reverse.rtl.run-in.running.s-resize.sans-serif.saturate.saturation.scale.scale3d.scaleX.scaleY.scaleZ.screen.scroll.scrollbar.scroll-position.se-resize.searchfield.searchfield-cancel-button.searchfield-decoration.searchfield-results-button.searchfield-results-decoration.self-start.self-end.semi-condensed.semi-expanded.separate.sepia.serif.show.sidama.simp-chinese-formal.simp-chinese-informal.single.skew.skewX.skewY.skip-white-space.slide.slider-horizontal.slider-vertical.sliderthumb-horizontal.sliderthumb-vertical.slow.small.small-caps.small-caption.smaller.soft-light.solid.somali.source-atop.source-in.source-out.source-over.space.space-around.space-between.space-evenly.spell-out.square.square-button.start.static.status-bar.stretch.stroke.stroke-box.sub.subpixel-antialiased.svg_masks.super.sw-resize.symbolic.symbols.system-ui.table.table-caption.table-cell.table-column.table-column-group.table-footer-group.table-header-group.table-row.table-row-group.tamil.telugu.text.text-bottom.text-top.textarea.textfield.thai.thick.thin.threeddarkshadow.threedface.threedhighlight.threedlightshadow.threedshadow.tibetan.tigre.tigrinya-er.tigrinya-er-abegede.tigrinya-et.tigrinya-et-abegede.to.top.trad-chinese-formal.trad-chinese-informal.transform.translate.translate3d.translateX.translateY.translateZ.transparent.ultra-condensed.ultra-expanded.underline.unidirectional-pan.unset.up.upper-alpha.upper-armenian.upper-greek.upper-hexadecimal.upper-latin.upper-norwegian.upper-roman.uppercase.urdu.url.var.vertical.vertical-text.view-box.visible.visibleFill.visiblePainted.visibleStroke.visual.w-resize.wait.wave.wider.window.windowframe.windowtext.words.wrap.wrap-reverse.x-large.x-small.xor.xx-large.xx-small".split("."), valueKeywords = keySet(valueKeywords_), allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_).concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_).concat(valueKeywords_), defaults = {
  documentTypes,
  mediaTypes,
  mediaFeatures,
  mediaValueKeywords,
  propertyKeywords,
  nonStandardPropertyKeywords,
  fontProperties,
  counterDescriptors,
  colorKeywords,
  valueKeywords,
  tokenHooks: { "/": function(e, r) {
    return e.eat("*") ? (r.tokenize = tokenCComment, tokenCComment(e, r)) : false;
  } }
};
mkCSS({ name: "css" });
function tokenCComment(e, r) {
  for (var i = false, a; (a = e.next()) != null; ) {
    if (i && a == "/") {
      r.tokenize = null;
      break;
    }
    i = a == "*";
  }
  return ["comment", "comment"];
}
mkCSS({
  name: "scss",
  mediaTypes,
  mediaFeatures,
  mediaValueKeywords,
  propertyKeywords,
  nonStandardPropertyKeywords,
  colorKeywords,
  valueKeywords,
  fontProperties,
  allowNested: true,
  lineComment: "//",
  tokenHooks: {
    "/": function(e, r) {
      return e.eat("/") ? (e.skipToEnd(), ["comment", "comment"]) : e.eat("*") ? (r.tokenize = tokenCComment, tokenCComment(e, r)) : ["operator", "operator"];
    },
    ":": function(e) {
      return e.match(/^\s*\{/, false) ? [null, null] : false;
    },
    $: function(e) {
      return e.match(/^[\w-]+/), e.match(/^\s*:/, false) ? ["def", "variable-definition"] : ["variableName.special", "variable"];
    },
    "#": function(e) {
      return e.eat("{") ? [null, "interpolation"] : false;
    }
  }
}), mkCSS({
  name: "less",
  mediaTypes,
  mediaFeatures,
  mediaValueKeywords,
  propertyKeywords,
  nonStandardPropertyKeywords,
  colorKeywords,
  valueKeywords,
  fontProperties,
  allowNested: true,
  lineComment: "//",
  tokenHooks: {
    "/": function(e, r) {
      return e.eat("/") ? (e.skipToEnd(), ["comment", "comment"]) : e.eat("*") ? (r.tokenize = tokenCComment, tokenCComment(e, r)) : ["operator", "operator"];
    },
    "@": function(e) {
      return e.eat("{") ? [null, "interpolation"] : e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i, false) ? false : (e.eatWhile(/[\w\\\-]/), e.match(/^\s*:/, false) ? ["def", "variable-definition"] : ["variableName", "variable"]);
    },
    "&": function() {
      return ["atom", "atom"];
    }
  }
});
const gss = mkCSS({
  name: "gss",
  documentTypes,
  mediaTypes,
  mediaFeatures,
  propertyKeywords,
  nonStandardPropertyKeywords,
  fontProperties,
  counterDescriptors,
  colorKeywords,
  valueKeywords,
  supportsAtComponent: true,
  tokenHooks: { "/": function(e, r) {
    return e.eat("*") ? (r.tokenize = tokenCComment, tokenCComment(e, r)) : false;
  } }
});
export {
  mkCSS as n,
  gss as t
};
