.CodeMirror {
    line-height: 1.2em !important;
    background-color: transparent !important;
    color: #222;
    height: 300px;
}

.CodeMirror-linewidget {
    overflow: visible !important;
}

.CodeMirror-gutter-performance {
    width: 74px;
    background-color: white;
    margin-left: 3px;
}

.CodeMirror-gutter-coverage {
    width: 5px;
    background-color: white;
    margin-left: 3px;
}

.CodeMirror .source-frame-eval-expression {
    outline: 0;
    border: 1px solid rgb(163, 41, 34);
    border-left-width: 0;
    border-right-width: 0;
    background-color: rgb(255, 255, 194);
}

.CodeMirror .source-frame-eval-expression-start {
    border-left-width: 1px;
    margin-left: -1px;
}

.CodeMirror .source-frame-eval-expression-end {
    border-right-width: 1px;
    margin-right: -1px;
}

.CodeMirror .source-frame-continue-to-location {
    outline: 0;
    border: 1px solid transparent;
    border-left-width: 0;
    border-right-width: 0;
    background-color: rgb(230, 236, 255);
    cursor: pointer;
}

.CodeMirror .source-frame-continue-to-location:hover {
    border: 1px solid rgb(121, 141, 254);
    background-color: rgb(171, 191, 254);
}

.-theme-with-dark-background .CodeMirror .source-frame-continue-to-location {
    background-color: #14522b;
}

.-theme-with-dark-background .CodeMirror .source-frame-continue-to-location:hover {
    border: 1px solid #33cc6b;
    background-color: #14522b;
}

.CodeMirror .source-frame-continue-to-location-start {
    border-left-width: 1px;
    margin-left: -1px;
}

.CodeMirror .source-frame-continue-to-location-end {
    border-right-width: 1px;
    margin-right: -1px;
}

.CodeMirror .source-frame-async-step-in {
    outline: 0;
    background-color: hsla(100, 46%, 80%, 1);
    cursor: pointer;
    border: 1px solid transparent;
    border-left-width: 0;
    border-right-width: 0;
}

.source-frame-async-step-in-hovered .source-frame-async-step-in {
    background-color: hsl(96, 53%, 65%);
    border-color: rgb(100, 154, 100);
}

.source-frame-async-step-in-hovered .source-frame-async-step-in-start {
    border-left-width: 1px;
    margin-left: -1px;
}

.source-frame-async-step-in-hovered .source-frame-async-step-in-end {
    border-right-width: 1px;
    margin-right: -1px;
}

.CodeMirror-readonly .CodeMirror-cursor {
    display: none;
}

.CodeMirror-gutters {
    border-right: 1px solid var(--divider-color);
    white-space: nowrap;
    background-color: white;
}

.CodeMirror-linenumber {
    color: rgb(128, 128, 128);
    padding: 0 3px 0 5px;
    min-width: 22px;
    text-align: right;
    white-space: nowrap;
}

.pretty-printed .CodeMirror-linenumber {
    color: var( --accent-color-b);
}

.cm-highlight {
    -webkit-animation: fadeout 2s 0s;
}
.-theme-with-dark-background .cm-highlight {
    -webkit-animation: fadeout-dark 2s 0s;
}
@-webkit-keyframes fadeout {
    from {background-color: rgb(255, 255, 120); }
    to { background-color: white; }
}
@-webkit-keyframes fadeout-dark {
    from {background-color: hsla(133, 100%, 30%, 0.5); }
    to { background-color: transparent; }
}

.cm-readonly-highlight {
    background-color: rgb(255, 255, 120);
}
.-theme-with-dark-background .cm-readonly-highlight {
    background-color: hsla(133, 100%, 30%, 0.5);
}

.cm-highlight.cm-execution-line {
    -webkit-animation: fadeout-execution-line 1s 0s;
}
.-theme-with-dark-background .cm-highlight.cm-execution-line {
    -webkit-animation: fadeout-execution-line-dark 1s 0s;
}

@-webkit-keyframes fadeout-execution-line {
    from {background-color: rgb(121, 141, 254); }
    to { background-color: rgb(171, 191, 254); }
}
@-webkit-keyframes fadeout-execution-line-dark {
    from {background-color: #208043; }
    to { background-color: #14522b; }
}

.cm-breakpoint .CodeMirror-gutter-wrapper .CodeMirror-linenumber, -theme-preserve {
    color: white;
    border-width: 1px 4px 1px 1px !important;
    -webkit-border-image: url(Images/breakpoint.png) 1 4 1 1;
    margin: 0 0 0 3px !important;
    padding-right: 3px;
    padding-left: 1px;
    height: 11px;
    line-height: 12px !important;
    border-style: solid;
}

.cm-line-without-source-mapping .CodeMirror-linenumber {
    color: rgba(128, 128, 128, 0.4);
}

.cm-breakpoint.cm-breakpoint-conditional .CodeMirror-linenumber {
    -webkit-border-image: url(Images/breakpointConditional.png) 1 4 1 1;
}

@media (-webkit-min-device-pixel-ratio: 1.1) {
.cm-breakpoint .CodeMirror-gutter-wrapper .CodeMirror-linenumber {
    -webkit-border-image: url(Images/breakpoint_2x.png) 2 8 2 2;
}
.cm-breakpoint.cm-breakpoint-conditional .CodeMirror-linenumber {
    -webkit-border-image: url(Images/breakpointConditional_2x.png) 2 8 2 2;
}
} /* media */

.-theme-with-dark-background .cm-breakpoint:not(.cm-breakpoint-conditional) .CodeMirror-gutter-wrapper .CodeMirror-linenumber {
    filter: hue-rotate(-139deg);
}

.cm-breakpoint-disabled .CodeMirror-linenumber {
    opacity: 0.5;
}

.breakpoints-deactivated .cm-breakpoint .CodeMirror-linenumber {
    opacity: 0.5;
}

.breakpoints-deactivated .cm-breakpoint-disabled .CodeMirror-linenumber {
    opacity: 0.3;
}

.cm-inline-breakpoint {
    position:relative;
    top: 2px;
    cursor: pointer;
}

.cm-execution-line-tail + .CodeMirror-widget {
    background-color: #abbffe;
}

.source-frame-eval-expression + .CodeMirror-widget {
    border: 1px solid rgb(163, 41, 34);
    border-left-width: 0;
    border-right-width: 0;
    background-color: rgb(255, 255, 194);
}

.cm-inline-breakpoint.cm-execution-line-tail {
    background-color: #698cfe;
}

.cm-execution-line-tail .cm-inline-breakpoint {
    background-color: white
}

.cm-inline-breakpoint.cm-inline-conditional {
    background-color: #ef9d0d;
}

.cm-inline-breakpoint.cm-inline-disabled {
    opacity: 0.5;
}

.cm-continue-to-location {
    cursor: pointer;
    opacity: 0.8;
    position: relative;
    top: 2px;
}

.cm-continue-to-location:hover {
    opacity: 1;
}

div.CodeMirror span.CodeMirror-matchingbracket {
    background-color: rgba(0, 0, 0, 0.07);
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
    background-color: rgba(255, 0, 0, 0.07);
    border-bottom: 1px solid rgba(255, 0, 0, 0.5);
}

.-theme-with-dark-background div.CodeMirror span.CodeMirror-matchingbracket {
    border-bottom: 1px solid rgb(217,217,217);
    background-color:initial;
}

.-theme-with-dark-background div.CodeMirror span.CodeMirror-nonmatchingbracket {
    border-bottom: 1px solid rgb(255, 26, 26);
    background-color:initial;
}

.cm-whitespace::before {
    position: absolute;
    pointer-events: none;
    color: rgb(175, 175, 175);
}

.cm-tab {
    display: inline-block;
    text-decoration: inherit;
    position: relative;
}

.cm-tab:before {
    display: none;
    content: ".";
    color: transparent;
    border-bottom: 1px solid rgb(175, 175, 175);
    position: absolute;
    width: 90%;
    bottom: 50%;
    left: 5%;
}

.show-whitespaces .CodeMirror .cm-tab:before {
    display: block !important;
}

.cm-execution-line {
    background-color: rgba(0, 59, 255, 0.10);
}

.cm-execution-line-outline {
    outline: 1px solid rgb(64, 115, 244);
}

.cm-execution-line-tail {
    background-color: rgb(171, 191, 254);
}

.cm-execution-line .CodeMirror-linenumber {
    border-right: 1px solid rgb(64, 115, 244);
}

.-theme-with-dark-background .cm-execution-line {
    background-color: #14522b;
}

.-theme-with-dark-background .cm-execution-line-outline {
    outline: 1px solid #33cc6b;
}

.-theme-with-dark-background .cm-execution-line-tail {
    background-color: #347132;
}

.cm-token-highlight {
    position: relative;
}

.cm-token-highlight:before {
    position: absolute;
    border: 1px solid gray;
    border-radius: 3px;
    top: 0;
    bottom: -1px;
    left: 0;
    right: 0;
    content: "";
}

.cm-line-with-selection .cm-column-with-selection:before {
    border: none;
}

.cm-search-highlight {
    position: relative;
}

.cm-search-highlight:before {
    position: absolute;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: gray;
    border-bottom-color: gray;
    border-top-width: 1px;
    border-bottom-width: 1px;
    top: -1px;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
}

.cm-search-highlight-full:before {
    border: 1px solid gray;
    border-radius: 3px;
}

.cm-search-highlight-start:before {
    border-left-width: 1px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    border-left-style: solid;
    border-left-color: gray;
}

.cm-search-highlight-end:before {
    border-right-width: 1px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    border-right-style: solid;
    border-right-color: gray;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-full:before {
    border-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-start:before {
    border-top-left-radius: 1px;
    border-bottom-left-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-end:before {
    border-top-right-radius: 1px;
    border-bottom-right-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight:before {
    margin: -1px -1px -1px -1px;
    background-color: rgb(241, 234, 0);
    z-index: -1;
}

.-theme-with-dark-background .cm-line-with-selection .cm-column-with-selection.cm-search-highlight:before {
    background-color: hsl(133, 100%, 30%);
}

.-theme-with-dark-background .cm-line-with-selection .cm-search-highlight {
    color: #eee;
}

.CodeMirror .text-editor-line-marker-performance {
    text-align: right;
    padding-right: 3px;
}

.CodeMirror .text-editor-coverage-unused-marker {
    text-align: right;
    padding-right: 2px;
    background-color: #E57373;
}

.CodeMirror .text-editor-coverage-unused-marker::after {
    content: " ";
}

.CodeMirror .text-editor-coverage-used-marker {
    text-align: right;
    padding-right: 2px;
    background-color: #81C784;
}

.CodeMirror .text-editor-coverage-used-marker::after {
    content: " ";
}

.CodeMirror .text-editor-line-decoration {
    position: absolute;
}

.CodeMirror .text-editor-line-decoration-wave {
    position: absolute;
    top: -2px;
    right: -4px;
    left: 4px;
    cursor: pointer;
    height: 4px;
}

.CodeMirror .text-editor-value-decoration {
    position: absolute;
    bottom: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 1000px;
    opacity: 0.8;
    background-color: #FFE3C7;
    margin-left: 10px;
    padding-left: 5px;
    color: #222;
    -webkit-user-select: text;
}

.CodeMirror .cm-execution-line .text-editor-value-decoration {
    background-color: transparent;
    opacity: 0.5;
}

.CodeMirror .text-editor-line-decoration-icon {
    position: absolute;
    cursor: pointer;
    right: -16px;
    top: -9px;
}

.CodeMirror .text-editor-line-with-warning:not(.cm-execution-line):not(.cm-readonly-highlight) {
    background-color: rgba(241, 230, 0, 0.1);
}

.CodeMirror .text-editor-line-with-error:not(.cm-execution-line):not(.cm-readonly-highlight) {
    background-color: rgba(255, 0, 0, 0.05);
}

.CodeMirror .text-editor-line-decoration-wave {
    background-image: url(Images/errorWave.png);
    background-repeat: repeat-x;
    background-size: contain;
}

@media (-webkit-min-device-pixel-ratio: 1.1) {
.CodeMirror .text-editor-line-decoration-wave {
    background-image: url(Images/errorWave_2x.png);
}
} /* media */

/** @see crbug.com/358161 */
.CodeMirror .CodeMirror-vscrollbar, .CodeMirror .CodeMirror-hscrollbar {
    transform: translateZ(0);
}

.cm-trailing-whitespace {
    background-color: rgba(255, 0, 0, 0.05);
}

.CodeMirror-activeline .cm-trailing-whitespace {
    background-color: transparent;
}

.-theme-with-dark-background .CodeMirror .CodeMirror-selected {
    background-color: #454545;
}

.CodeMirror .auto-complete-text {
    color: rgb(128,128,128);
}

.CodeMirror .placeholder-text {
    height: 0;
    color: rgb(128,128,128);
}

/** Prevent the codemirror textarea from stealing PageUp events **/
.CodeMirror textarea {
    resize: none;
    overflow: hidden;
}

.CodeMirror-lines {
    padding: 4px 0; /* Vertical padding around content */
}

.CodeMirror pre {
    padding: 0 4px; /* Horizontal padding of content */
}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
    background-color: white; /* The little square between H and V scrollbars */
}

.CodeMirror-cursor {
    border-left: 1px solid black;
    border-right: none;
    width: 0;
}

/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
    border-left: 1px solid silver;
}

.CodeMirror-composing {
    border-bottom: 2px solid;
}

.pretty-printed .CodeMirror-linenumber {
    color: var(--accent-color-b);
}
