body, html {
  background: hsl(154 50% 5%);
  color: hsl(154 84% 70%);
  text-shadow: 0 0 4px hsl(154 84% 70%);
  font-family: monospace;
  font-size: 16px;
  width: 100vw;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}

p {
    text-align: center;
}

pre, #output, #instructions, #asciiText {
  font-size: 1em;
  max-width: 100vw;
  overflow-x: auto;
  word-break: break-word;
  white-space: pre-wrap;
  box-sizing: border-box;
  padding: 0.5em;
}

#glare {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; 
  background: radial-gradient(hsl(154 5% 15%) 0%, hsl(154 50% 5%) 70%);
}

@keyframes lines {
  0% {background-position: 0px 0px}
  50% {background-position: 0px 0px}
  51% {background-position: 0px 2px}
  100% {background-position: 0px 2px}
}

#interlaced {
  position: fixed;
  background: repeating-linear-gradient(transparent 0px 1px, hsl(154 0% 0%/.3) 3px 4px);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  animation: lines 0.06666666s linear infinite;
}

@keyframes blink {
  0% {opacity: 0}
  30% {opacity: 1}
  70% {opacity: 1}
  100% {opacity: 0}
}

.blink {
  animation: blink-animation 1s steps(2, start) infinite;
}

@keyframes blink-animation {
  to {
    visibility: hidden;
  }
}

#navbar-placeholder,
#mobile-sheet {
  width: 100%;
  box-sizing: border-box;
}

#prompt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1em;
  max-width: 100vw;
  padding: 0.5em;
  box-sizing: border-box;
}

#resume-modal {
  width: 96vw ;
  height: 90vh ;
  left: 2vw ;
  top: 5vh ;
  min-width: 0;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
}

#resume-modal iframe {
  width: 100%;
  height: calc(100% - 50px);
  min-height: 0;
}

.theme-controls, .popover-content {
  flex-direction: column;
  align-items: stretch;
  gap: 0.5em;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.popover-content {
  right: 0;
  left: 0;
  min-width: 0;
  width: 90vw;
  max-width: 95vw;
}


@media (max-width: 700px) {
  nav, .nav-links {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5em;
  }
  .nav-item {
    width: 100%;
    text-align: center;
    padding: 0.75em 0;
    font-size: 1.1em;
  }
}

html, body {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}
