/* yamez.xyz — boot screen + odometer counter */

/* Hide the page while booting so it doesn't flash underneath */
html.booting body > *:not(#boot) { visibility: hidden; }

#boot {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #000;
  color: #ffb000;                      /* amber phosphor */
  font-family: "Courier New", Courier, monospace;
  font-size: clamp(11px, 3.3vw, 15px);
  line-height: 1.5;
  padding: 24px;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.4s ease;
  animation: crt-flicker 0.15s infinite alternate;
}
#boot.boot-out { opacity: 0; }

/* scanlines */
#boot::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0,
    rgba(0, 0, 0, 0) 2px,
    rgba(0, 0, 0, 0.3) 3px
  );
}
/* vignette, like a curved tube */
#boot::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 60%, rgba(0,0,0,0.55) 100%);
}

#boot-text {
  margin: 0;
  font: inherit;
  white-space: pre-wrap;
  text-shadow: 0 0 6px rgba(255, 176, 0, 0.65);
}
#boot-text::after {
  content: "\2588";                    /* block cursor */
  animation: blink 1s infinite;
}
#boot-skip {
  position: absolute;
  left: 24px;
  bottom: 20px;
  font-size: 12px;
  opacity: 0.5;
}

@keyframes blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes crt-flicker {
  from { opacity: 0.97; }
  to   { opacity: 1; }
}

/* Odometer-style hit counter */
.hit-counter {
  display: inline-flex;
  gap: 2px;
  vertical-align: middle;
}
.hit-counter span {
  display: inline-block;
  min-width: 1ch;
  padding: 1px 4px;
  color: #ffb000;
  background: linear-gradient(#2a2a2a, #000 50%, #151515 50%, #000);
  border: 1px solid #444;
  border-radius: 2px;
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  text-shadow: 0 0 4px rgba(255, 176, 0, 0.7);
}
