/* ==== GLOBAL STYLE ==== */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  overflow: visible;
  font-family: 'Courier New', monospace;
  color: #77ff66;
}

/* CRT container with subtle shake */
.crt {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: crtShake 0.25s infinite;
  filter: contrast(1.1) brightness(0.9) saturate(1.1);
}

/* CRT shake animation */
@keyframes crtShake {
  0%, 100% { transform: translate(0,0) scale(1); }
  25% { transform: translate(0.3px,-0.3px) scale(1.001); }
  50% { transform: translate(-0.3px,0.3px) scale(1.001); }
  75% { transform: translate(0.3px,0.3px) scale(1.001); }
}

/* Boot screen */
#boot-screen {
  font-size: 3rem;
  color: #77ff66;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Screen off animation */
.off {
  animation: crtOff 1s forwards;
}

@keyframes crtOff {
  0% { transform: scaleY(1); opacity: 1; }
  50% { transform: scaleY(0.05); opacity: 1; }
  100% { transform: scaleY(0) scaleX(0); opacity: 0; }
}

/* Main scene wrapper fills viewport */
#main-scene {
  display: none;
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: visible;
}

/* Main image centered */
#main-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.8); /* 🔧 unchanged */
  overflow: visible;
}

/* Scene image */
#scene-img {
  width: 100%;
  height: auto;
  display: block;
}

/* Numbered clickable points */
.point {
  position: absolute;
  width: 22px;
  height: 22px;
  background-color: #77ff66;
  border-radius: 50%;
  box-shadow: 0 0 10px #77ff66;
  color: black;
  font-weight: bold;
  font-size: 0.9rem;
  text-align: center;
  line-height: 22px;
  text-decoration: none;
  transition: transform 0.1s, box-shadow 0.1s;
}

.point:hover {
  transform: scale(1.3);
  box-shadow: 0 0 20px #aaff99;
}

/* Typed CRT text at bottom center */
#crt-header {
  position: absolute;
  bottom: 1%; /* near bottom with small buffer */
  left: 50%;
  transform: translateX(-50%);
  color: #77ff66;
  font-size: 1.8rem;
  letter-spacing: 1px;
  white-space: pre;
  text-align: center;
}

.cursor {
  animation: blink 0.8s infinite;
}

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

/* Show main scene after boot */
.show {
  display: block !important;
}
