/*!
 * Local copy of essential xterm.css rules (v5.x compatible)
 * This file provides the required DOM structure and sizing so FitAddon can
 * correctly measure cell width/height. It is a trimmed subset of the official
 * stylesheet focused on layout/metrics (no theme colors).
 */

.xterm {
  position: relative;
  cursor: text;
  -ms-user-select: none;
  user-select: none;
}

.xterm * {
  box-sizing: border-box;
}

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

.xterm .xterm-helper-textarea {
  position: absolute;
  opacity: 0;
  left: -9999em;
  top: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  resize: none;
}

.xterm .xterm-viewport {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 100%;
  width: 100%;
  outline: none;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.xterm .xterm-screen {
  position: relative;
  width: 100%;
  height: 100%;
}

.xterm .xterm-scroll-area {
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
}

.xterm .xterm-rows {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  white-space: pre;
}

.xterm .xterm-rows > div {
  height: 1em;
}

.xterm-rows span {
  display: inline-block;
  height: 1em;
  line-height: 1em;
  vertical-align: top;
  white-space: pre;
}

.xterm .xterm-decoration-container,
.xterm .xterm-text-layer,
.xterm .xterm-cursor-layer,
.xterm .xterm-selection-layer,
.xterm .xterm-link-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.xterm .xterm-cursor {
  position: absolute;
}

.xterm .xterm-accessibility {
  position: absolute;
  left: -9999px;
  width: 0;
  height: 0;
  overflow: hidden;
}

.xterm-viewport::-webkit-scrollbar {
  width: 10px;
}

.xterm-viewport::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 5px;
}

.xterm-viewport::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}

/* Ensure char measure element exists for width/height metrics */
.xterm .xterm-char-measure-element {
  display: inline-block;
  visibility: hidden;
  position: absolute;
  left: -9999em;
  line-height: 1em;
  white-space: pre;
}
