:root {
  /* Change this one value to re-tint the whole terminal */
  --term-color: #7fd8ff;
  --term-bg: #000000;
  --term-font: 'Bitcount Single', 'Courier New', monospace;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--term-bg);
  overflow: hidden;
}

#mobile-input {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  border: none;
  outline: none;
  opacity: 0;
  font-size: 16px; /* stops iOS Safari from zooming the page in on focus */
  pointer-events: none;
}

#crt {
  position: relative;
  width: 100vw;
  height: 100vh;
  background: var(--term-bg);
}

.view {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--term-bg);
  color: var(--term-color);
  font-family: var(--term-font);
  text-shadow: 0 0 2px var(--term-color);
  image-rendering: pixelated;
}

.view.active {
  display: flex;
}

pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--term-font);
}

/* ---- Logon screen ---- */
#view-logon {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 4vh 4vw;
}

#logon-line {
  font-size: 2.6vh;
  line-height: 1.05;
}

.cursor {
  display: inline-block;
}

.cursor.blinking {
  animation: blink 1s steps(1) infinite;
}

@keyframes blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

/* ---- Scrolling code screen ---- */
#view-scroll {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  overflow: hidden;
}

#scroll-text {
  width: 100%;
  height: 100%;
  padding: 1vh 1vw;
  text-shadow: none;
}

.scroll-line {
  display: block;
  line-height: 1.15;
}

/* ---- Greeting screen ---- */
#view-greeting {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  padding: 4vh 4vw;
}

#greeting-text {
  font-size: 2.6vh;
  line-height: 1.3;
  max-width: 55vw;
}

/* ---- Access denied screen ---- */
#view-denied {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  padding: 4vh 4vw;
}

#view-denied pre {
  font-size: 2.6vh;
}
