@font-face {
  font-family: 'MonoLisa';
  src: url('./MonoLisa-font/MonoLisa-Regular-Nerd-Font-Mono.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'MonoLisa';
  src: url('./MonoLisa-font/MonoLisa-Regular-Italic-Nerd-Font-Mono.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'MonoLisa';
  src: url('./MonoLisa-font/MonoLisa-Bold-Nerd-Font-Mono.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'MonoLisa';
  src: url('./MonoLisa-font/MonoLisa-Bold-Italic-Nerd-Mono.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

.code-container {
  resize: both;
  overflow: hidden;
  margin: auto;
  width: min(98vw, calc(96vh * 4 / 3));
  aspect-ratio: 4 / 3;
  min-width: 420px;
  min-height: 315px;
  position: relative;
  --glow-margin: 70px;
  filter: drop-shadow(0 0 75px rgb(128 0 255 / 0.25));
}

.sig {
  content: "attr(content)";
  position: absolute;
  bottom: 90px;
  right: 90px;
  z-index: 999;
  color: rgba(255,255,255,0.9);
  text-shadow: 0 0 10px rgba(255,255,255,0.25);
  letter-spacing: 0.1em;
  width: calc(100% - 240px);
  background: transparent;
  border: none;
  text-align: right;
  letter-spacing: 0.1em;
  pointer-events: none;
}

.code-container::after {
  content: "";
  background: linear-gradient(
    to right,
    transparent,
    black 25px, black 110px,
    transparent 110px 175px,
    black 175px, black calc(100% - 25px),
    transparent
  );
  position: absolute;
  top: 125px;
  left: var(--glow-margin);
  right: var(--glow-margin);
  height: 4px;
  display: block;
  z-index: 90;
  opacity: 0.5;
}

.glow-container {
  position: absolute;
  inset: 0;
  display: grid;
  z-index: 2;
  pointer-events: none;
  --glow: drop-shadow(0 0 1px violet);
  filter: var(--glow) brightness(1.5) drop-shadow(0 0 10px violet);
}

.augs {
  --aug-rect-l1: initial;
  --aug-l1-width: 110px;
  --aug-l1-height: 4px;
  --aug-l-center: 57px;
  
  --aug-rect-r1: initial;
  --aug-r1-width: (100% - 125px - 50px);
  --aug-r1-height: 4px;
  --aug-r-center: 57px;
  
  --aug-clip-tr1: initial;
  --aug-tr1-alt-join-out: initial;
  --aug-tr1: 17px;
  --aug-clip-tr2: initial;
  --aug-tr2: 17px;
  --aug-tr-extend1: 50px;
  
  --aug-round-tl1: initial;
  --aug-tl1: 8px;
  --aug-round-br1: initial;
  --aug-br1: 8px;
  margin: auto;
  width: calc(100% - var(--glow-margin) * 2);
  height: calc(100% - var(--glow-margin) * 2);
}

.glow-container .augs {
  --aug-border: initial;
  --aug-border-all: 2px;
  --aug-border-bg: linear-gradient(to bottom left, rebeccapurple, orange);
}

section.augs {
  position: absolute;
  inset: 0;
  margin: auto;
  --aug-inlay: initial;
  --aug-inlay-all: 2px;
  --aug-inlay-bg: url(http://augmented-ui.com/img/propjockey.png)
    center 70% / auto 70% no-repeat;
  --aug-inlay-opacity: 0.25;
}
section.augs::before {
  filter: brightness(0.2) blur(10px);
}

.dots {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 110px;
  height: 50px;
  z-index: 1000;
  /* Original 3-dot style */
  --red: #fc199a;
  --yellow: #ffcc00;
  --green: #61e2ff;
  --close: radial-gradient(circle, var(--red), var(--red) 7px, transparent 8px);
  --min: radial-gradient(circle, var(--yellow), var(--yellow) 7px, transparent 8px);
  --max: radial-gradient(circle, var(--green), var(--green) 7px, transparent 8px);
  background: var(--close) -28px no-repeat,
              var(--min) -2px no-repeat,
              var(--max) 24px no-repeat;
  cursor: default;
  border: none;
  opacity: 0.85;
}

.title {
  position: absolute;
  top: 17px;
  left: 0;
  right: 0;
  background: transparent;
  color: #ff8d41;
  text-shadow: 0 0 10px rgba(255, 141, 65, 0.6), 0 0 18px rgba(255, 141, 65, 0.35);
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'Fira Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  font-weight: 700;
  padding: 0 160px 0 130px; /* leave space for dots on left */
}

.code {
  position: absolute;
  inset: 80px 10px 10px 10px;
  font-size: 20px;
  color: #ffffff;
  filter: brightness(1.2);
}
.code * {
  font-size: 18px;
  font-weight: normal;
  color: #ffffff;
  font-family: 'MonoLisa', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
  font-variant-ligatures: contextual;
  font-feature-settings: "calt" 1;
  font-style: normal;
}

/* Ensure MonoLisa is applied within CodeMirror */
.CodeMirror, .CodeMirror pre, .CodeMirror * {
  font-family: 'MonoLisa', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace !important;
  font-variant-ligatures: contextual;
  font-feature-settings: "calt" 1;
  font-style: normal !important;
}

/* Disable italics across the highcontrast theme */
.highcontrast-dark .CodeMirror * {
  font-style: normal !important;
}

/* Bold keywords and commands */
.highcontrast-dark .CodeMirror .cm-keyword,
.highcontrast-dark .CodeMirror .cm-builtin,
.highcontrast-dark .CodeMirror .cm-def,
.highcontrast-dark .CodeMirror .cm-qualifier,
.highcontrast-dark .CodeMirror .cm-tag {
  font-weight: 700 !important;
}

/* Light, readable glow in code */
.highcontrast-dark .CodeMirror span { text-shadow: 0 0 8px rgba(255,255,255,0.32) !important; }
.highcontrast-dark .CodeMirror .cm-operator,
.highcontrast-dark .CodeMirror .cm-variable,
.highcontrast-dark .CodeMirror .cm-variable-2,
.highcontrast-dark .CodeMirror .cm-variable-3,
.highcontrast-dark .CodeMirror .cm-def,
.highcontrast-dark .CodeMirror .cm-property,
.highcontrast-dark .CodeMirror .cm-attribute,
.highcontrast-dark .CodeMirror .cm-qualifier,
.highcontrast-dark .CodeMirror .cm-meta,
.highcontrast-dark .CodeMirror .cm-string,
.highcontrast-dark .CodeMirror .cm-number,
.highcontrast-dark .CodeMirror .cm-keyword,
.highcontrast-dark .CodeMirror .cm-comment,
.highcontrast-dark .CodeMirror .cm-builtin,
.highcontrast-dark .CodeMirror .cm-tag { text-shadow: 0 0 8px rgba(255,255,255,0.32) !important; }
.highcontrast-dark .CodeMirror-guttermarker-subtle,
.highcontrast-dark .CodeMirror-linenumber { text-shadow: 0 0 7px rgba(255,255,255,0.28) !important; }

/* Token-colored glows to match their hues */
.highcontrast-dark .CodeMirror .cm-number        { text-shadow: 0 0 12px rgba(153, 99, 255, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-string,
.highcontrast-dark .CodeMirror .cm-string-2,
.highcontrast-dark .CodeMirror .cm-meta          { text-shadow: 0 0 12px rgba(153, 99, 255, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-def,
.highcontrast-dark .CodeMirror .cm-variable,
.highcontrast-dark .CodeMirror .cm-variable-2    { text-shadow: 0 0 12px rgba(97, 226, 255, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-builtin       { text-shadow: 0 0 12px rgba(174, 99, 228, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-operator,
.highcontrast-dark .CodeMirror .cm-variable-3,
.highcontrast-dark .CodeMirror .cm-attribute,
.highcontrast-dark .CodeMirror .cm-property,
.highcontrast-dark .CodeMirror .cm-keyword,
.highcontrast-dark .CodeMirror .cm-qualifier     { text-shadow: 0 0 12px rgba(252, 25, 154, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-tag           { text-shadow: 0 0 12px rgba(255, 204, 0, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-atom          { text-shadow: 0 0 12px rgba(153, 99, 255, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-comment       { text-shadow: 0 0 10px rgba(153, 99, 255, 0.40) !important; }

/* Colored glow for per-word overlay classes */
.highcontrast-dark .CodeMirror .cm-w-c0  { text-shadow: 0 0 12px rgba(255, 141, 65, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c1  { text-shadow: 0 0 12px rgba(97, 226, 255, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c2  { text-shadow: 0 0 12px rgba(252, 25, 154, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c3  { text-shadow: 0 0 12px rgba(71, 207, 115, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c4  { text-shadow: 0 0 12px rgba(255, 221, 64, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c5  { text-shadow: 0 0 12px rgba(94, 145, 242, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c6  { text-shadow: 0 0 12px rgba(174, 99, 228, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c7  { text-shadow: 0 0 12px rgba(43, 199, 185, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c8  { text-shadow: 0 0 12px rgba(215, 80, 147, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c9  { text-shadow: 0 0 12px rgba(227, 228, 232, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c10 { text-shadow: 0 0 12px rgba(155, 157, 173, 0.50) !important; }
.highcontrast-dark .CodeMirror .cm-w-c11 { text-shadow: 0 0 12px rgba(255, 60, 65, 0.50) !important; }

/* Orange background for selected text in editor */
.highcontrast-dark .CodeMirror-selected { 
  background: var(--selection-bg) !important;
}
.highcontrast-dark .CodeMirror-focused .CodeMirror-selected { 
  background: var(--selection-bg-focused) !important;
}
.highcontrast-dark .CodeMirror ::selection { background: var(--selection-bg-focused) !important; }
.highcontrast-dark .CodeMirror ::-moz-selection { background: var(--selection-bg-focused) !important; }

/* Per-word color classes applied via CodeMirror overlay */
.cm-w-c0  { color: #ff8d41 !important; } /* ZelC orange */
.cm-w-c1  { color: #61e2ff !important; }
.cm-w-c2  { color: #fc199a !important; }
.cm-w-c3  { color: #47cf73 !important; }
.cm-w-c4  { color: #ffdd40 !important; }
.cm-w-c5  { color: #5e91f2 !important; }
.cm-w-c6  { color: #ae63e4 !important; }
.cm-w-c7  { color: #2bc7b9 !important; }
.cm-w-c8  { color: #d75093 !important; }
.cm-w-c9  { color: #e3e4e8 !important; }
.cm-w-c10 { color: #9b9dad !important; }
.cm-w-c11 { color: #ff3c41 !important; }

body {
  display: grid;
  min-height: 100vh;
  width: 100vw;
  --c: rgb(0 0 0 / 0.95);
  --bgb: linear-gradient(var(--c), var(--c));
  --bg: repeating-conic-gradient(
    from 7.5deg at center center,
    hsl(200, 100%, 0%) 0deg 15deg,
    hsl(200, 100%, 60%) 10deg 30deg
  );
  background: var(--bgb), var(--bg), black;
}

* {
  font: normal 1em sans-serif;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/* https://marketplace.visualstudio.com/items?itemName=webrender.synthwave-x-fluoromachine */
.bg {
  background: repeating-linear-gradient(
    to top,
    rgba(255, 255, 255, 0.03) 0px 2px,
    transparent 2px 4px
  ),
  linear-gradient(to bottom, #200933 75%, #3d0b43);
}
.bg::after{
  content:'';
  height:50%;
  width:100%;
  display:block;
  background-image:linear-gradient(90deg, rgba(252,25,154,.1) 1px, rgba(0,0,0,0) 1px), linear-gradient(0deg, rgba(252,25,154,.1) 1px, rgba(0,0,0,0) 1px);
  background-position:bottom;
  background-repeat:repeat;
  background-size:20px 20px;
  left: -25px;
  position: absolute;
  pointer-events: none;
  bottom: 0;
  transform: perspective(100px) rotateX(60deg);
  z-index: 0;
}

.CodeMirror-gutters {
  background: transparent;
  border: none;
  margin-right: 15px;
}
.CodeMirror {
  height: 100%;
  background: transparent;
}
.CodeMirror-linenumber {
  padding-right: 1em;
}
.CodeMirror-overlayscroll-horizontal div,
.CodeMirror-overlayscroll-vertical div {
  background: rgba(153, 99, 255, 0.5);
}
.CodeMirror-scrollbar-filler { display: none!important; }

/* Block line guide visuals (applied to CodeMirror-linebackground) */
:root {
  --block-line-color: rgba(174, 99, 228, 0.45);
  --block-line-width: 2px;
  --block-indent: 14px;
  --block-line-offset-x: 0px; /* horizontal nudge to the right of the emoji */
  --block-line-trim-start: 0px; /* trim above the open emoji */
  --block-line-trim-end: 0px;   /* trim below the close emoji */
  --block-error-open: rgba(255, 99, 132, 0.18);
  --block-error-close: rgba(255, 0, 0, 0.22);
  --selection-bg: rgba(255, 141, 65, 0.35);
  --selection-bg-focused: rgba(255, 141, 65, 0.45);
}
.CodeMirror-linebackground.block-depth-1 {
  background-image: linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position: calc(var(--block-indent) * 1) 0;
}
.CodeMirror-linebackground.block-depth-2 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position: calc(var(--block-indent) * 1) 0, calc(var(--block-indent) * 2) 0;
}
.CodeMirror-linebackground.block-depth-3 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0;
}
.CodeMirror-linebackground.block-depth-4 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0,
    calc(var(--block-indent) * 4) 0;
}
.CodeMirror-linebackground.block-depth-5 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0,
    calc(var(--block-indent) * 4) 0,
    calc(var(--block-indent) * 5) 0;
}
.CodeMirror-linebackground.block-depth-6 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0,
    calc(var(--block-indent) * 4) 0,
    calc(var(--block-indent) * 5) 0,
    calc(var(--block-indent) * 6) 0;
}
.CodeMirror-linebackground.block-depth-7 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0,
    calc(var(--block-indent) * 4) 0,
    calc(var(--block-indent) * 5) 0,
    calc(var(--block-indent) * 6) 0,
    calc(var(--block-indent) * 7) 0;
}
.CodeMirror-linebackground.block-depth-8 {
  background-image:
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color)),
    linear-gradient(to bottom, var(--block-line-color), var(--block-line-color));
  background-size: var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%, var(--block-line-width) 100%;
  background-repeat: no-repeat;
  background-position:
    calc(var(--block-indent) * 1) 0,
    calc(var(--block-indent) * 2) 0,
    calc(var(--block-indent) * 3) 0,
    calc(var(--block-indent) * 4) 0,
    calc(var(--block-indent) * 5) 0,
    calc(var(--block-indent) * 6) 0,
    calc(var(--block-indent) * 7) 0,
    calc(var(--block-indent) * 8) 0;
}

/* Error highlights for unmatched blocks */
.CodeMirror-linebackground.block-error-open {
  background: linear-gradient(to right, var(--block-error-open), transparent 40%);
}
.CodeMirror-linebackground.block-error-close {
  background: linear-gradient(to right, var(--block-error-close), transparent 40%);
}

/* codepen's highcontrast-dark theme */
.cm-header{font-weight:700}.cm-strong{font-weight:700}.cm-em{font-style:italic}:root{--editor-top-bar-background: black;--tab-bg: #131417;--tab-border-color: #2a2c33;--resizer-background: var(--editor-top-bar-background);--resizer-border: #242424}.sidebar-false .main-header,.sidebar-false .main-header .header-wrap,.editor-footer{background:var(--editor-top-bar-background)}.CodeMirror-cursor{border-left-color:#fff!important}.CodeMirror-selected{background:rgba(255,255,255,.05)}.CodeMirror-focused .CodeMirror-selected{background:rgba(255,255,255,.1)}.CodeMirror-matchingbracket{border-bottom:1px solid rgba(255,255,255,.5)}.CodeMirror-matchingtag{border-bottom:1px solid rgba(255,255,255,.3)}.cm-searching{background:#000;outline:2px solid rgba(255,255,255,.25)}.CodeMirror-hints,.emmet-abbreviation-preview{border:1px solid #5a5f73;background:#1e1f26}.CodeMirror-hint{color:#fff}li.CodeMirror-hint-active{background:#c7c9d3;color:#000}.project-editor-warning{background:rgba(255,255,255,.1)}.editor-footer{border-top-color:var(--resizer-border,var(--cp-color-6))}.cm-keyword{color:#ffdd40}.cm-atom{color:#a3d65a}.box-html .cm-atom{color:#ff3c41}.cm-def{color:#0ebeff}.cm-variable{color:#c7c9d3}.cm-variable-2{color:#47cf73}.cm-variable-3{color:#fff}.cm-header{color:#ff3c41}.cm-number{color:#2bc7b9}.cm-property{color:#5e91f2}.cm-attribute{color:#e3e4e8}.cm-builtin{color:#ae63e4}.cm-qualifier{color:#ffdd40}.cm-operator{color:#47cf73}.cm-meta{color:#0ebeff}.cm-string{color:#2bc7b9}.cm-string-2{color:#d75093}.cm-tag{color:#ffdd40}.box-css .cm-tag{color:#ff8d41}.cm-tag.cm-bracket{color:#9b9dad}.cm-comment{color:#88afbf}body.editor{background:#131417}.box.box.box,.editor .top-boxes,.CodeMirror-gutter-wrapper,body.project .editor-pane,body.project .editor{background:#131417}.box.box.box pre,.editor .top-boxes pre,.CodeMirror-gutter-wrapper pre,body.project .editor-pane pre,body.project .editor pre{color:#d5d7de}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:rgba(113,119,144,.6)}#output pre::-webkit-scrollbar,#output iframe::-webkit-scrollbar{width:.5em;height:.5em}#output pre::-webkit-scrollbar-thumb,#output iframe::-webkit-scrollbar-thumb{background:#373c49}#output pre::-webkit-scrollbar-track,#output iframe::-webkit-scrollbar-track{background:0 0}.CodeMirror-simplescroll-horizontal div,.CodeMirror-simplescroll-vertical div{background:#373c49}.powers .mini-button{background:#444857}.powers .mini-button:hover,.powers .mini-button:focus{background:#c7c9d3}.powers .mini-button:hover svg,.powers .mini-button:focus svg{fill:#000}

/* theme overrides original source */
/* https://marketplace.visualstudio.com/items?itemName=webrender.synthwave-x-fluoromachine */
/* I just ported it to codemirror */

.highcontrast-dark .cm-header {
  font-weight: bold
}

.highcontrast-dark .cm-strong {
  font-weight: bold
}

.highcontrast-dark .cm-em {
  font-style: italic
}

.highcontrast-dark .CodeMirror-cursor {
  border-left-color: white !important
}

.highcontrast-dark .CodeMirror-selected {
  background: rgba(255,255,255,0.05)
}

.highcontrast-dark .CodeMirror-focused .CodeMirror-selected {
  background: rgba(255,255,255,0.1)
}

.highcontrast-dark .CodeMirror-matchingbracket {
  border-bottom: 1px solid rgba(255,255,255,0.5)
}

.highcontrast-dark .CodeMirror-matchingtag {
  border-bottom: 1px solid rgba(255,255,255,0.3)
}

.highcontrast-dark .powers {
  border-bottom: 1px solid rgba(255,255,255,0.05)
}

.highcontrast-dark .cm-searching {
  background: black;
  outline: 2px solid rgba(255,255,255,0.25)
}

.highcontrast-dark .CodeMirror-hints,
.highcontrast-dark .emmet-abbreviation-preview {
  border: 1px solid #5a5f73;
  background: #1e1f26
}

.highcontrast-dark .CodeMirror-hint {
  color: white
}

.highcontrast-dark li.CodeMirror-hint-active {
  background: #c7c9d3;
  color: black
}

.highcontrast-dark .project-editor-warning {
  background: rgba(255,255,255,0.1)
}

.highcontrast-dark .cm-atom {
  color: #9963ff;
}

.highcontrast-dark .box-html .cm-atom {
  color: #ff3c41
}

.highcontrast-dark .cm-def,
.highcontrast-dark .cm-variable-2,
.highcontrast-dark .cm-variable,
.highcontrast-dark .box-js .cm-variable + .cm-property {
  color: #61e2ff;
  text-shadow: 0 0 2px #001716, 0 0 5px #03edf933, 0 0 10px #ffff6633;
}

.highcontrast-dark .cm-header {
  color: #ff3c41
}
.highcontrast-dark .cm-builtin {
  color: #ae63e4
}

.highcontrast-dark .cm-number {
  color: #9963ff;
}


.highcontrast-dark .cm-operator,
.highcontrast-dark .cm-variable-3,
.highcontrast-dark .cm-attribute,
.highcontrast-dark .cm-property,
.highcontrast-dark .cm-keyword,
.highcontrast-dark .presentation > .cm-def,
.highcontrast-dark .cm-qualifier {
  color: #fc199a;
  text-shadow: 0 0 2px #393a33, 0 0 35px #ffffff44, 0 0 10px #fc199a, 0 0 2px #fc199a;
}
.highcontrast-dark .cm-operator,
.highcontrast-dark .cm-variable-3,
.highcontrast-dark .cm-attribute,
.highcontrast-dark .cm-property {
  font-style: italic;
}

.highcontrast-dark .cm-meta,
.highcontrast-dark .cm-meta + .cm-property,
.highcontrast-dark .cm-string,
.highcontrast-dark .cm-string-2 {
  color: #9963ff;
  text-shadow: none;
}

.highcontrast-dark .cm-tag,
.highcontrast-dark .cm-callee,
.highcontrast-dark .box-css .cm-tag,
.highcontrast-dark .cm-tag.cm-bracket,
.highcontrast-dark .box-js .cm-property  {
  color: #ffcc00;
  text-shadow: 0 0 2px #100c0f, 0 0 3px #ffaa0099, 0 0 5px #ffaa0099, 0 0 10px #ffaa0099;
  font-style: italic;
}

.highcontrast-dark .cm-comment {
  font-style: italic;
  color: #9963ff99;
  text-shadow: 0 0 2px #001716, 0 0 5px #03edf933, 0 0 10px #ffff6633;
}

body.editor.highcontrast-dark {
  background: #241b2f;
}

.highcontrast-dark .box.box.box,
.editor.highcontrast-dark .top-boxes,
.highcontrast-dark .CodeMirror-gutter-wrapper,
body.project.highcontrast-dark .editor-pane,
body.project.highcontrast-dark .editor {
  background: none;
}
.editor.highcontrast-dark .top-boxes {
  --swxfm__c: rgba(153, 99, 255);
  background: repeating-linear-gradient(
    to top,
    rgba(255, 255, 255, 0.03) 0px 2px,
    transparent 2px 4px
  ),
  linear-gradient(to bottom, #200933 75%, #3d0b43);
}
.editor.highcontrast-dark .top-boxes:after{
  content:'';
  height:300px;
  width:100%;
  display:block;
  background-image:linear-gradient(90deg, rgba(252,25,154,.1) 1px, rgba(0,0,0,0) 1px), linear-gradient(0deg, rgba(252,25,154,.1) 1px, rgba(0,0,0,0) 1px);
  background-position:bottom;
  background-repeat:repeat;
  background-size:20px 20px;
  left: -25px;
  position: absolute;
  pointer-events: none;
  bottom: 0;
  transform: perspective(100px) rotateX(60deg);
  z-index: 0;
}

.highcontrast-dark .box.box.box pre,
.editor.highcontrast-dark .top-boxes pre,
.highcontrast-dark .CodeMirror-gutter-wrapper pre,
body.project.highcontrast-dark .editor-pane pre,
body.project.highcontrast-dark .editor pre {
  color: #b5b4b6;
}

.highcontrast-dark .CodeMirror-guttermarker-subtle,
.highcontrast-dark .CodeMirror-linenumber {
  color: #8a2dc066;
  text-shadow: 0 0 2px #393a33, 0 0 35px #ffffff44, 0 0 10px #8a2dc066, 0 0 2px #8a2dc066;
}
