/* src/style.css */
html, body {
  -ms-overflow-style: none;
  scrollbar-width: none;
  background-color: #272822;
  height: 100%;
  margin: 0;
}

body::-webkit-scrollbar {
  display: none;
}

#toolbar {
  position: fixed;
  z-index: 10;
  z-index: 10;
  align-items: space-between;
  list-style-type: none;
  overflow: hidden;
  display: flex;
  background-color: #4f5148;
  height: 3em;
  margin: 0;
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
}

#toolbar li {
  float: left;
}

#toolbar li button {
  display: block;
  width: 6em;
  height: 3em;
  margin: .25em;
  padding: .25em;
}

li.push {
  margin-left: auto;
}

#editor {
  position: absolute;
  overflow-y: auto;
  box-sizing: border-box;
  inset: 3em 0 15em;
}

.prism-code-editor {
  height: 100%;
}

#console {
  white-space: pre;
  position: absolute;
  background-color: #4f5148;
  height: 15em;
  bottom: 0;
  left: 0;
  right: 0;
}

/* node_modules/prism-code-editor/dist/layout.css */
.prism-code-editor {
  overflow: auto;
  display: grid;
  background: var(--editor__bg);
  --_pse: var(--padding-inline, .75em);
  --_ns: var(--number-spacing, .75em);
  --padding-left: var(--_pse);
  --_sp: var(--pce-scroll-padding, 2ch);
  scroll-padding: var(--_sp);
  -webkit-user-select: none;
  user-select: none;
  isolation: isolate;
  white-space: pre;
  line-height: 1.4;
}

.show-line-numbers {
  --padding-left: calc(var(--_pse)  + var(--number-width)  + var(--_ns));
  scroll-padding-left: calc(var(--padding-left)  + var(--_sp));
  grid: 1fr / 0 1fr;
}

.pce-wrapper {
  position: relative;
  pointer-events: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  margin: .5em 0;
}

.pce-textarea {
  all: unset;
  box-sizing: border-box;
  color: #0000;
  -webkit-user-select: auto;
  user-select: auto;
  overflow: hidden;
  pointer-events: auto;
  width: 100%;
  height: 100%;
}

.pce-textarea::selection {
  background: var(--pce-selection);
  color: #0000;
}

.pce-no-selection textarea:focus {
  z-index: 1;
}

.pce-line, .pce-textarea {
  padding: 0 var(--_pse) 0 var(--padding-left);
  position: relative;
}

.show-line-numbers .pce-line:before {
  content: attr(data-line);
  display: inline-block;
  margin: 0 0 0 calc(-1 * var(--padding-left));
  padding: 0 var(--_ns) 0 0;
  box-sizing: border-box;
  color: var(--editor__line-number);
  text-align: end;
}

.show-line-numbers:before {
  content: "";
  background: inherit;
  pointer-events: none;
}

.show-line-numbers:before, .pce-line:before {
  position: sticky;
  z-index: 2;
  width: var(--padding-left);
  height: 100%;
  left: 0;
}

.pce-wrap .pce-line:before {
  position: absolute;
  margin: 0;
}

.pce-overlays, .pce-overlays > *, pre.pce-guides .pce-line:after, .pce-no-selection .active-line:after, .active-line.match-highlight:after {
  content: "";
  position: absolute;
  inset: 0;
}

.show-line-numbers .pce-line:after {
  left: var(--padding-left);
}

.active-line:after {
  border: var(--editor__border-highlight);
  background: var(--editor__bg-highlight);
  z-index: -2;
}

.pce-wrap {
  white-space: pre-wrap;
  word-break: break-word;
}

.selection-matches span {
  background: var(--editor__bg-selection-match);
}

.pce-nowrap .active-bracket {
  display: inline-block;
}

/* node_modules/prism-code-editor/dist/themes/prism-okaidia.css */
.prism-code-editor {
  caret-color: #f8f8f2;
  --editor__bg: #272822;
  --widget__border: #4f5148;
  --widget__bg: #242622;
  --widget__color: #cfd1c7;
  --widget__color-active: #fff;
  --widget__color-options: #9ea092;
  --widget__bg-input: #35372f;
  --widget__bg-hover: #5a5d5e4f;
  --widget__bg-active: #99947c66;
  --widget__focus-ring: #99947c;
  --search__bg-find: #ea5c0054;
  --widget__bg-error: #5a1d1d;
  --widget__error-ring: #be1100;
  --editor__bg-highlight: #36362b;
  --editor__bg-selection-match: #575b6180;
  --editor__line-number: #90908a;
  --editor__bg-scrollbar: 0, 0%, 45%;
  --editor__bg-fold: #c5c5c5;
  --bg-guide-indent: #9e9f9640;
  --pce-ac-icon-class: #ee9d28;
  --pce-ac-icon-enum: #ee9d28;
  --pce-ac-icon-event: #ee9d28;
  --pce-ac-icon-function: #b180d7;
  --pce-ac-icon-interface: #75beff;
  --pce-ac-icon-variable: #75beff;
  --pce-selection: #575a5a;
  --buncss-light: ;
  --buncss-dark: initial;
  color-scheme: dark;
  font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
}

.pce-match {
  --search__bg-find: #885a3c;
}

.active-line {
  --editor__line-number: #c2c2bf;
}

.active-indent {
  --bg-guide-indent: #dbdbd973;
}

.token.comment, .token.prolog, .token.doctype, .token.cdata {
  color: #8292a2;
}

[class*="language-"], .token.punctuation, .token.attr-equals {
  color: #f8f8f2;
}

.token.namespace {
  opacity: .7;
}

.token.property, .token.tag, .token.constant, .token.symbol, .token.deleted, .token.block > .keyword, .token.keyword.control-flow, .token.keyword.module {
  color: #f92672;
}

.token.boolean, .token.number {
  color: #ae81ff;
}

.token.selector, .token.attr-name, .token.string, .token.string-property, .token.char, .token.builtin, .token.inserted {
  color: #a6e22e;
}

.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, .token.variable {
  color: #f8f8f2;
}

.token.atrule, .token.attr-value, .token.function, .token.class-name {
  color: #e6db74;
}

.token.keyword {
  color: #66d9ef;
}

.token.regex, .language-regex, .token.important {
  color: #fd971f;
}

.token.important, .token.bold {
  font-weight: 700;
}

.token.italic {
  font-style: italic;
}

.token.bracket-level-0, .token.bracket-level-3, .token.bracket-level-6, .token.bracket-level-9 {
  color: gold;
}

.token.bracket-level-1, .token.bracket-level-4, .token.bracket-level-7, .token.bracket-level-10 {
  color: orchid;
}

.token.bracket-level-2, .token.bracket-level-5, .token.bracket-level-8, .token.bracket-level-11 {
  color: #179fff;
}

.token.bracket-error {
  color: #ff1212cc;
}

.token.markup-bracket {
  color: inherit;
}

.active-bracket {
  box-shadow: inset 0 0 0 1px #888, inset 0 0 0 9in #0064001a;
}

.active-tagname, .word-matches span {
  background: #4a4a7680;
}

/* node_modules/prism-code-editor/dist/scrollbar.css */
@media (hover: hover) {
  .prism-code-editor::-webkit-scrollbar-corner {
    background: none;
  }

  .prism-code-editor::-webkit-scrollbar-track {
    background: none;
  }

  .prism-code-editor ::-webkit-scrollbar-corner {
    background: none;
  }

  .prism-code-editor ::-webkit-scrollbar-track {
    background: none;
  }

  .prism-code-editor::-webkit-scrollbar {
    width: 1em;
    height: 1em;
  }

  .prism-code-editor ::-webkit-scrollbar {
    width: 1em;
    height: 1em;
  }

  .prism-code-editor::-webkit-scrollbar-thumb {
    background: hsla(var(--editor__bg-scrollbar), .36);
    width: 2em;
    height: 2em;
  }

  .prism-code-editor ::-webkit-scrollbar-thumb {
    background: hsla(var(--editor__bg-scrollbar), .36);
    width: 2em;
    height: 2em;
  }

  .prism-code-editor::-webkit-scrollbar-thumb:hover {
    background: hsla(var(--editor__bg-scrollbar), .5);
  }

  .prism-code-editor ::-webkit-scrollbar-thumb:hover {
    background: hsla(var(--editor__bg-scrollbar), .5);
  }

  .prism-code-editor::-webkit-scrollbar-thumb:active {
    background: hsla(var(--editor__bg-scrollbar), .66);
  }

  .prism-code-editor ::-webkit-scrollbar-thumb:active {
    background: hsla(var(--editor__bg-scrollbar), .66);
  }
}

/* node_modules/@xterm/xterm/css/xterm.css */
.xterm {
  cursor: text;
  position: relative;
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}

.xterm.focus, .xterm:focus {
  outline: none;
}

.xterm .xterm-helpers {
  position: absolute;
  z-index: 5;
  top: 0;
}

.xterm .xterm-helper-textarea {
  position: absolute;
  opacity: 0;
  z-index: -5;
  white-space: nowrap;
  overflow: hidden;
  resize: none;
  border: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  top: 0;
  left: -9999em;
}

.xterm .composition-view {
  color: #fff;
  display: none;
  position: absolute;
  white-space: nowrap;
  z-index: 1;
  background: #000;
}

.xterm .composition-view.active {
  display: block;
}

.xterm .xterm-viewport {
  overflow-y: scroll;
  cursor: default;
  position: absolute;
  background-color: #000;
  inset: 0;
}

.xterm .xterm-screen {
  position: relative;
}

.xterm .xterm-screen canvas {
  position: absolute;
  top: 0;
  left: 0;
}

.xterm .xterm-scroll-area {
  visibility: hidden;
}

.xterm-char-measure-element {
  display: inline-block;
  visibility: hidden;
  position: absolute;
  line-height: normal;
  top: 0;
  left: -9999em;
}

.xterm.enable-mouse-events {
  cursor: default;
}

.xterm.xterm-cursor-pointer, .xterm .xterm-cursor-pointer {
  cursor: pointer;
}

.xterm.column-select.focus {
  cursor: crosshair;
}

.xterm .xterm-accessibility:not(.debug), .xterm .xterm-message {
  position: absolute;
  z-index: 10;
  color: #0000;
  pointer-events: none;
  inset: 0;
}

.xterm .xterm-accessibility-tree:not(.debug) *::selection {
  color: #0000;
}

.xterm .xterm-accessibility-tree {
  user-select: text;
  white-space: pre;
}

.xterm .live-region {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  left: -9999px;
}

.xterm-dim {
  opacity: 1 !important;
}

.xterm-underline-1 {
  text-decoration: underline;
}

.xterm-underline-2 {
  text-decoration: double underline;
}

.xterm-underline-3 {
  text-decoration: wavy underline;
}

.xterm-underline-4 {
  text-decoration: dotted underline;
}

.xterm-underline-5 {
  text-decoration: dashed underline;
}

.xterm-overline {
  text-decoration: overline;
}

.xterm-overline.xterm-underline-1 {
  text-decoration: overline underline;
}

.xterm-overline.xterm-underline-2 {
  text-decoration: overline double underline;
}

.xterm-overline.xterm-underline-3 {
  text-decoration: overline wavy underline;
}

.xterm-overline.xterm-underline-4 {
  text-decoration: overline dotted underline;
}

.xterm-overline.xterm-underline-5 {
  text-decoration: overline dashed underline;
}

.xterm-strikethrough {
  text-decoration: line-through;
}

.xterm-screen .xterm-decoration-container .xterm-decoration {
  z-index: 6;
  position: absolute;
}

.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
  z-index: 7;
}

.xterm-decoration-overview-ruler {
  z-index: 8;
  position: absolute;
  pointer-events: none;
  top: 0;
  right: 0;
}

.xterm-decoration-top {
  z-index: 2;
  position: relative;
}
