.layout.svelte-1srsnsd{padding:3em 0 0 0}@media(min-width: 768px){.layout.svelte-1srsnsd{padding:3.6em 0 0 0}}
.guide-toc.svelte-1mp1z8g.svelte-1mp1z8g{margin:0;padding:0 0 0 1em}.guide-toc.svelte-1mp1z8g li.svelte-1mp1z8g{display:block;list-style:none;margin:0 0 0.5em 0;line-height:1.2}.section.svelte-1mp1z8g.svelte-1mp1z8g{display:block;font-weight:700;color:#333;font-size:1rem;margin:0 0 0.5em 0}.section.active.svelte-1mp1z8g.svelte-1mp1z8g,.subsection.active.svelte-1mp1z8g.svelte-1mp1z8g{color:rgba(239, 51, 53, 1)}li.svelte-1mp1z8g.svelte-1mp1z8g::before{position:absolute;left:-1em;content:'»';color:#ccc}.subsections.svelte-1mp1z8g.svelte-1mp1z8g{padding:0 0 0 0.5em;margin:0}.subsection.svelte-1mp1z8g.svelte-1mp1z8g{color:#666}.subsections.svelte-1mp1z8g li.svelte-1mp1z8g::before{content:''}
.repl.svelte-1g1p63q{height:calc(100% - 3.6em)}.left.svelte-1g1p63q,.right.svelte-1g1p63q{width:100%;padding:1em}button{font-family:inherit;font-size:inherit;border:none;outline:none;cursor:pointer;background-color:#eee;padding:0.5em 1em;margin-bottom:1em}button:hover,button:active{background-color:#eaeaea}button:disabled{cursor:default}.icon{font-size:0.8em}input{display:block;width:100%;font-family:inherit;font-size:inherit;padding:0.5em;border:none;outline:none;line-height:1;color:#333;background-color:inherit}input:focus{background-color:#eaeaea}@media(min-width: 45rem){.left.svelte-1g1p63q,.right.svelte-1g1p63q{width:50%;height:100%;float:left;overflow-y:auto}}
.sidebar.svelte-1jhce1o.svelte-1jhce1o{position:fixed;left:0;top:3.6em;width:16em;height:calc(100vh - 3.6em);display:none;overflow-y:auto;padding:1em;border-right:1px solid #eee}.content.svelte-1jhce1o.svelte-1jhce1o{width:100%;padding:1em 1em 1em 1.5em}.hero.svelte-1jhce1o.svelte-1jhce1o{max-width:64em;margin:0 auto 2em auto;border-bottom:2px solid rgba(239, 51, 53, 0.4);display:none}.hero.svelte-1jhce1o strong.svelte-1jhce1o{position:relative;font-weight:400;left:-0.03em}h2.svelte-1jhce1o.svelte-1jhce1o{margin:3rem 0 1rem -1rem;font-size:1.8em;font-weight:700;color:#333;z-index:2}.content.svelte-1jhce1o.svelte-1jhce1o h3{margin:4rem 0 1rem -1rem;font-size:1.2em;font-weight:700;color:#333;z-index:1}.content.svelte-1jhce1o.svelte-1jhce1o h3 code{font-weight:700}.content.svelte-1jhce1o.svelte-1jhce1o h4{margin:2em 0 0.5em 0;font-size:1em;font-weight:700;color:#333}.content.svelte-1jhce1o.svelte-1jhce1o h2:before,.content.svelte-1jhce1o.svelte-1jhce1o h3:before,.content.svelte-1jhce1o.svelte-1jhce1o h4:before{display:block;content:' ';margin-top:-75px;height:75px;visibility:hidden;pointer-events:none}.content.svelte-1jhce1o.svelte-1jhce1o h4 code{font-weight:700}.content.svelte-1jhce1o.svelte-1jhce1o h4 em{font-weight:400;font-style:normal;font-size:14px;color:#666;position:relative;top:-0.1em}.content.svelte-1jhce1o.svelte-1jhce1o p{margin:0 0 1em 0;color:#181818;line-height:1.5;z-index:3}.content.svelte-1jhce1o.svelte-1jhce1o a{border-bottom:1px solid #e3d9d9}.content.svelte-1jhce1o.svelte-1jhce1o a.anchor{border-bottom:0;position:absolute;left:-18px;padding-right:2px;visibility:hidden;line-height:28px}.content.svelte-1jhce1o.svelte-1jhce1o *:hover>a.anchor{visibility:visible}.content.svelte-1jhce1o.svelte-1jhce1o strong{font-weight:500}.content.svelte-1jhce1o.svelte-1jhce1o code{background-color:#f9f9f9;padding:0.2em 0.4em;border-radius:3px}.content.svelte-1jhce1o.svelte-1jhce1o code{padding:0}section.svelte-1jhce1o.svelte-1jhce1o:first-child h3{border:none}section.svelte-1jhce1o.svelte-1jhce1o{border-bottom:1px solid #eee;max-width:64em;margin:0 auto 2em auto;padding:0 0 4em 1em}section.svelte-1jhce1o.svelte-1jhce1o:last-child{border:none}.content.svelte-1jhce1o.svelte-1jhce1o pre{background-color:#f9f9f9;border-left:2px solid #eee;margin:0 0 1em 0;padding:12px 8px 12px 12px;border-radius:3px}.content.svelte-1jhce1o.svelte-1jhce1o p,.content.svelte-1jhce1o.svelte-1jhce1o ul,.content.svelte-1jhce1o.svelte-1jhce1o ol{max-width:48em}.content.svelte-1jhce1o.svelte-1jhce1o li{margin:0}.content.svelte-1jhce1o.svelte-1jhce1o blockquote{position:relative;color:#999;margin:1em 0;padding:0.5em 0 0.5em 2em;max-width:48em;border-top:1px solid #eee;border-bottom:1px solid #eee}.content.svelte-1jhce1o.svelte-1jhce1o blockquote p{color:#666}.content.svelte-1jhce1o.svelte-1jhce1o blockquote p:last-child{margin:0}.content.svelte-1jhce1o.svelte-1jhce1o blockquote::before{content:'!';position:absolute;left:0.5em;top:0.8em;color:rgba(170, 0, 0, 0.7);font-size:0.8em;font-weight:800;width:1em;height:1em;text-align:center;line-height:1;padding:0.15em 0.1em 0.1em 0.1em;border-radius:50%;border:2px solid rgba(170, 30, 30, 0.7)}@media(min-width: 768px){.sidebar.svelte-1jhce1o.svelte-1jhce1o{display:block}.content.svelte-1jhce1o.svelte-1jhce1o{padding:0 1em 2em 17.5em}.hero.svelte-1jhce1o.svelte-1jhce1o{display:block}.hero.svelte-1jhce1o strong.svelte-1jhce1o{font-size:8em}}
.mousecatcher.svelte-1qjjjmz.svelte-1qjjjmz{position:fixed;left:0;top:0;width:100vw;height:100vh;background-color:black;pointer-events:none;opacity:0;z-index:3}.mousecatcher.open.svelte-1qjjjmz.svelte-1qjjjmz{pointer-events:all;opacity:0.3}@keyframes svelte-1qjjjmz-fadein{from{opacity:0}to{opacity:1}}.container.svelte-1qjjjmz.svelte-1qjjjmz{position:fixed;top:0;width:100%;height:3em;background-color:#f9f9f9;color:#222;border-bottom:1px solid #eee;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif,
			'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';z-index:5}nav.svelte-1qjjjmz.svelte-1qjjjmz{position:fixed;width:18em;height:calc(100vh - 3em);top:3em;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif,
			'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';background-color:white;transform:translate(-100%, 0);transition:transform 0.2s cubic-bezier(0.17, 0.67, 0.24, 0.99);border-right:1px solid #eee;z-index:5;padding:1em;user-select:none;overflow-y:auto}.open.svelte-1qjjjmz.svelte-1qjjjmz{transform:translate(0, 0);transition:transform 0.3s cubic-bezier(0.17, 0.67, 0.24, 0.99)}.menu-link.svelte-1qjjjmz.svelte-1qjjjmz{display:inline;position:absolute;top:0;left:1rem;font-size:1em;line-height:3.1em;color:#ccc;cursor:pointer;font-weight:500;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.logo.svelte-1qjjjmz.svelte-1qjjjmz{position:absolute;right:0.5rem;top:0;background-image:url(/logo.svg);background-repeat:no-repeat;background-position:100% 50%;background-size:auto 80%;padding:1rem 2.2rem 1rem 0;line-height:1;color:#222;font-weight:500}ul.svelte-1qjjjmz.svelte-1qjjjmz{display:block;margin:0;padding:0;list-style:none}.primary.svelte-1qjjjmz.svelte-1qjjjmz{margin:0 0 2em 0}.primary.svelte-1qjjjmz li.svelte-1qjjjmz{position:relative;display:block}.primary.svelte-1qjjjmz .active.svelte-1qjjjmz{color:#333;font-weight:700}.primary.svelte-1qjjjmz li a.svelte-1qjjjmz{display:block;color:#727272;font-size:1.3em;font-weight:500;padding:0.75em 0;line-height:1}@media(min-width: 768px){.mousecatcher.svelte-1qjjjmz.svelte-1qjjjmz,.menu-link.svelte-1qjjjmz.svelte-1qjjjmz{display:none}.container.svelte-1qjjjmz.svelte-1qjjjmz{height:3.6em}nav.svelte-1qjjjmz.svelte-1qjjjmz{width:100%;height:4em;padding:0 1.5em 0 0;transform:none;transition:none;height:0;overflow:visible}.primary.svelte-1qjjjmz.svelte-1qjjjmz{position:fixed;top:0;right:1em;margin:0}.primary.svelte-1qjjjmz li.svelte-1qjjjmz{display:inline-block}.primary.svelte-1qjjjmz li a.svelte-1qjjjmz{padding:1.3em 0.5em;color:#666;font-size:1rem;font-weight:300}.primary.svelte-1qjjjmz li a.active.svelte-1qjjjmz{color:#333;font-weight:500}.primary.svelte-1qjjjmz li.svelte-1qjjjmz::after{position:absolute;top:1.4rem;right:-0.3em;content:'/';font-size:0.8em;color:#999}.primary.svelte-1qjjjmz li.svelte-1qjjjmz:last-child::after{content:''}.logo.svelte-1qjjjmz.svelte-1qjjjmz{position:absolute;top:0;left:0.5rem;right:auto;padding:1rem 0 1rem 3rem;font-size:1.6rem;font-weight:300;transform:none;background-position:0 50%}}
select.svelte-1wpl2rg{font-size:inherit;font-family:inherit;position:relative;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;padding:0.5em 3em 0.5em 0.5em;margin-bottom:1em;background:#eee url(/images/select-arrow.svg) no-repeat 100% 50%;background-size:auto 100%;outline:none}.new-module.svelte-1wpl2rg{display:block;width:100%;color:#3d9970;border:none;padding:1em;margin-bottom:0}@media(min-width: 400px){.start-over.svelte-1wpl2rg{float:right}}
.output.svelte-7ufsla{margin:0 0 1em 0;border:1px solid #eee}.module-name.svelte-7ufsla{display:block;padding:0.5em}header.svelte-7ufsla{width:100%;border-bottom:1px solid #f4f4f4}
.module.svelte-nvn6pc.svelte-nvn6pc{margin:0 0 1em 0;border:1px solid #f4f4f4}header.svelte-nvn6pc.svelte-nvn6pc{width:100%;border-bottom:1px solid #f4f4f4}.entry-module.svelte-nvn6pc.svelte-nvn6pc{border:1px solid #ccc}.entry-module-name.svelte-nvn6pc.svelte-nvn6pc{display:block;padding:0.5em}.entry-module-label.svelte-nvn6pc.svelte-nvn6pc{color:#555;opacity:0.6;position:absolute;right:0;padding-right:0.5em}.code-splitting.svelte-nvn6pc input.svelte-nvn6pc{padding:0.8em}button.svelte-nvn6pc.svelte-nvn6pc{position:absolute;display:block;right:0;font-family:inherit;font-size:inherit;padding:0.5em;margin:0;background-color:transparent;border:none;cursor:pointer;outline:none;opacity:0.4;-webkit-transition:opacity 0.2s;transition:opacity 0.2s}.code-splitting.svelte-nvn6pc button.svelte-nvn6pc{padding:0.2em}.toggle-entry.svelte-nvn6pc.svelte-nvn6pc{bottom:0;color:#555}.remove.svelte-nvn6pc.svelte-nvn6pc{top:0;color:#e94c43}button.svelte-nvn6pc.svelte-nvn6pc:hover,button.svelte-nvn6pc.svelte-nvn6pc:active,.entry-module.svelte-nvn6pc .toggle-entry.svelte-nvn6pc:hover,.entry-module.svelte-nvn6pc .toggle-entry.svelte-nvn6pc:active{opacity:1;background-color:transparent}button.svelte-nvn6pc .label.svelte-nvn6pc{position:absolute;right:100%;opacity:0;-webkit-transition:opacity 0.2s;transition:opacity 0.2s}.entry-module.svelte-nvn6pc .toggle-entry .label.svelte-nvn6pc{opacity:1}.entry-module.svelte-nvn6pc button.toggle-entry.svelte-nvn6pc{opacity:0.6}button.svelte-nvn6pc:hover .label.svelte-nvn6pc,button.svelte-nvn6pc:active .label.svelte-nvn6pc{opacity:0.6}.icon-cancel.svelte-nvn6pc.svelte-nvn6pc,.icon-plus.svelte-nvn6pc.svelte-nvn6pc,.icon-minus.svelte-nvn6pc.svelte-nvn6pc{font-size:0.8em}
.status.svelte-1548jlk.svelte-1548jlk{padding:0.5em;margin:0 0 1em 0;color:white}.success.svelte-1548jlk.svelte-1548jlk{background-color:#3D9970}.waiting.svelte-1548jlk.svelte-1548jlk{background-color:#4384e6}.error.svelte-1548jlk.svelte-1548jlk{background-color:#e94c43}.status.svelte-1548jlk>span.svelte-1548jlk{font-size:1em}
.options.svelte-16fxjew.svelte-16fxjew{margin:0 0 1em 0;border:1px solid #eee}button.svelte-16fxjew.svelte-16fxjew{display:block;width:16.666666666666668%;float:left;padding:0.75em 0;font-size:0.8em;margin:0}.selected.svelte-16fxjew.svelte-16fxjew{background-color:#ccc;font-weight:bold}section.svelte-16fxjew.svelte-16fxjew{border-bottom:1px solid #eee}section.svelte-16fxjew.svelte-16fxjew:last-child{border:none}h3.svelte-16fxjew.svelte-16fxjew{padding:0.5rem;margin:0;font-size:1em;font-weight:700}input.svelte-16fxjew.svelte-16fxjew{padding-left:1.5em;background-color:#eee}section.svelte-16fxjew code.svelte-16fxjew{position:absolute;display:block;right:0;top:1px;padding:0.5em 0.5em 0.5em 1.5em;line-height:1}
.codemirror-container.svelte-i2a2a9{width:100%;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.codemirror-container.svelte-i2a2a9 .CodeMirror{border-radius:3px;font-family:Inconsolata, monospace;font-size:16px;line-height:1.2;font-weight:400;color:#333}.codemirror-container.svelte-i2a2a9 .CodeMirror{height:auto}@media(min-width: 768px){.codemirror-container.svelte-i2a2a9{height:100%;border:none}.codemirror-container.svelte-i2a2a9 .CodeMirror{height:100%}}.codemirror-container.svelte-i2a2a9 .CodeMirror-gutters{border-right:1px solid #eee}textarea.svelte-i2a2a9{width:100%;border:none}
/* BASICS */

.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
  color: black;
  direction: ltr;
}

/* PADDING */

.CodeMirror-lines {
  padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  padding: 0 4px; /* Horizontal padding of content */
}

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

/* GUTTER */

.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap;
}

.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }

/* CURSOR */

.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;
}
.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0 !important;
  background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}
.cm-fat-cursor-mark {
  background-color: rgba(20, 255, 20, 0.5);
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7;
}
@-moz-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@-webkit-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}

/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}

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

.CodeMirror-rulers {
  position: absolute;
  left: 0; right: 0; top: -50px; bottom: 0;
  overflow: hidden;
}
.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  top: 0; bottom: 0;
  position: absolute;
}

/* DEFAULT THEME */

.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}

.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}

.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}

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

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}

/* STOP */

/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */

.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white;
}

.CodeMirror-scroll {
  overflow: scroll !important; /* Things will break if this is overridden */
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px; margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none; /* Prevent dragging from highlighting the element */
  position: relative;
}
.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent;
}

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actual scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
}
.CodeMirror-vscrollbar {
  right: 0; top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}
.CodeMirror-hscrollbar {
  bottom: 0; left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
  right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
  left: 0; bottom: 0;
}

.CodeMirror-gutters {
  position: absolute; left: 0; top: 0;
  min-height: 100%;
  z-index: 3;
}
.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -30px;
}
.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important;
}
.CodeMirror-gutter-background {
  position: absolute;
  top: 0; bottom: 0;
  z-index: 4;
}
.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }

.CodeMirror-lines {
  cursor: text;
  min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-variant-ligatures: contextual;
  font-variant-ligatures: contextual;
}
.CodeMirror-wrap pre.CodeMirror-line,
.CodeMirror-wrap pre.CodeMirror-line-like {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}

.CodeMirror-linebackground {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  z-index: 0;
}

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  padding: 0.1px; /* Force widget margins to stay inside of the container */
}

.CodeMirror-widget {}

.CodeMirror-rtl pre { direction: rtl; }

.CodeMirror-code {
  outline: none;
}

/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.CodeMirror-cursor {
  position: absolute;
  pointer-events: none;
}
.CodeMirror-measure pre { position: static; }

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}
div.CodeMirror-dragcursors {
  visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}

.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }

.cm-searching {
  background-color: #ffa;
  background-color: rgba(255, 255, 0, .4);
}

/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }

@media print {
  /* Hide the cursor when printing */
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}

/* See issue #2901 */
.cm-tab-wrap-hack:after { content: ''; }

/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }