@font-face {
  font-family: "PxPlus IBM VGA 8x16";
  src: url("../assets/fonts/WebPlus_IBM_VGA_8x16.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --term-font-size: 17px;
  --term-line-height: 1.2;
  --term-bg: #000;
  --term-fg: #c0c0c0;
  --term-hi: #fff; /* highlight / link colour */
  --term-prompt: #c0c0c0;
  --cursor-speed: 800ms;
  --term-padding: 14px;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  width: 100%; height: 100%;
  background: var(--term-bg);
  color: var(--term-fg);
  font-family: "PxPlus IBM VGA 8x16", "Lucida Console", "Consolas", monospace;
  font-size: var(--term-font-size);
  line-height: var(--term-line-height);
  overflow: hidden;
}

body {
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
  text-rendering: optimizeSpeed;
  image-rendering: pixelated;
}

#term {
  width: 100%; height: 100%;
  overflow-y: auto;
  padding: var(--term-padding);
  white-space: pre;
  font-family: "PxPlus IBM VGA 8x16", "Lucida Console", "Consolas", monospace;
  cursor: text;
  scrollbar-width: none;
}
#term::-webkit-scrollbar { display: none; }

#term a {
  color: var(--term-hi);
  text-decoration: none;
}
#term a:hover {
  text-decoration: underline;
}

.cursor {
  display: inline-block;
  width: 0.6em;
  height: 1em;
  margin-left: 1px;
  vertical-align: text-bottom;
  background: var(--term-fg);
  animation: cursor-blink var(--cursor-speed) step-end infinite;
}
@keyframes cursor-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0; }
}

#input-capture {
  position: absolute;
  left: -9999px;
  opacity: 0;
  width: 0; height: 0;
}
