:root {
  --bg: #0c0c0c;
}
* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
}

#terminal {
  position: fixed;
  inset: 0;
  margin: 0;
  padding: 24px 28px;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 15px;
  line-height: 1.55;
  color: #4dff4d;
  white-space: pre-wrap;
  word-break: break-word;
  text-shadow: 0 0 6px rgba(77, 255, 77, 0.35);
}
#terminal::-webkit-scrollbar { display: none; }

#terminal .prompt {
  color: #4dff4d;
}
#terminal .prompt .user { color: #6ec1ff; }
#terminal .prompt .path { color: #f5d76e; }
#terminal .out {
  color: #b9c2c9;
  text-shadow: none;
}
#terminal .out.dim { color: #6b7680; }
#terminal .cursor {
  display: inline-block;
  width: 8px;
  height: 1em;
  background: #4dff4d;
  vertical-align: text-bottom;
  margin-left: 1px;
  animation: term-blink 1s steps(1) infinite;
}

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

#stage {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.bouncer {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  will-change: transform, opacity;
}
