/* ============ BOOT LAYER — black CRT, phosphor green ============ */

#boot-layer {
  position: fixed; inset: 0;
  background: #000;
  z-index: 8000;
  overflow: hidden;
}
#boot-layer[hidden] { display: none; }

/* Reserved layer (empty) */
#jordan-reflection { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

#boot-screen {
  position: relative; z-index: 1;
  height: 100%;
  padding: 4vh 6vw;
  overflow: hidden;
  font-family: "VT323", "Courier New", monospace;
  color: #39ff7a;
  text-shadow: 0 0 6px rgba(57, 255, 122, .55), 0 0 1px rgba(57,255,122,.9);
}

#boot-text, #boot-text2 {
  font-family: inherit;
  font-size: clamp(15px, 2.3vmin, 22px);
  line-height: 1.32;
  white-space: pre-wrap;
}

#boot-text .dim, #boot-text2 .dim { color: #1d8c48; text-shadow: 0 0 4px rgba(29,140,72,.5); }
#boot-text .amber, #boot-text2 .amber { color: #ffb428; text-shadow: 0 0 6px rgba(255,180,40,.55); }
#boot-text .white, #boot-text2 .white { color: #d7ffe9; }

.boot-cursor {
  display: inline-block;
  width: .62em; height: 1em;
  background: #39ff7a;
  vertical-align: -0.15em;
  animation: bootblink .8s steps(1) infinite;
  box-shadow: 0 0 8px rgba(57,255,122,.8);
}
@keyframes bootblink { 50% { opacity: 0; } }

/* big logo */
#boot-logo { margin: 2vh 0 3vh; }
.bl-full {
  display: block;
  width: clamp(160px, 26vmin, 280px);
  height: auto;
  margin: 1vh 0 1.4vh;
  border-radius: 50%;
  overflow: hidden;
  filter: drop-shadow(0 0 12px rgba(57, 255, 122, .35));
}
#boot-logo.bl-animate .bl-full {
  animation: markreveal .5s ease-out,
             markpulse 3.2s ease-in-out .6s infinite alternate;
}
@keyframes markreveal {
  0%   { opacity: 0; transform: scale(1.02); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes markpulse {
  0%   { opacity: .93; }
  100% { opacity: 1; }
}

/* small emblem, top-right, there from the first scanline */
#boot-corner-mark {
  position: absolute;
  top: 3.2vh; right: 3.2vw;
  width: clamp(58px, 9vmin, 96px);
  height: auto;
  z-index: 2;
  border-radius: 50%;
  filter: drop-shadow(0 0 8px rgba(57, 255, 122, .4));
  animation: markpulse 3.6s ease-in-out infinite alternate;
}

.bl-word {
  font-size: clamp(28px, 5.2vmin, 56px);
  letter-spacing: 0.22em;
  color: #39ff7a;
  text-shadow: 0 0 10px rgba(57, 255, 122, .65);
  margin: 4px 0 2px;
}

.bl-sub {
  margin-top: 10px;
  font-size: clamp(15px, 2.6vmin, 26px);
  letter-spacing: .35em;
  color: #ffb428;
  text-shadow: 0 0 8px rgba(255,180,40,.5);
}
.bl-est {
  margin-top: 5px;
  font-size: clamp(11px, 1.8vmin, 17px);
  letter-spacing: .12em;
  color: #1d8c48;
}

#boot-hint {
  position: absolute; right: 18px; bottom: 12px; z-index: 2;
  font-family: "VT323", monospace;
  font-size: 15px;
  color: #1d8c48;
  animation: bootblink 1.4s steps(1) infinite;
}

@media (max-width: 700px) {
  #boot-screen { padding: 3vh 5vw; }
  #boot-text, #boot-text2 { font-size: 14px; }
  .bl-word { letter-spacing: 0.12em; font-size: 28px; }
  .bl-sub { letter-spacing: 0.1em; font-size: 13px; }
  .bl-est { letter-spacing: 0.04em; font-size: 11px; }
  #boot-corner-mark { width: 52px; top: 14px; right: 12px; }
  #boot-hint { right: 10px; bottom: 8px; font-size: 13px; }
}

/* ============ SHUTDOWN ============ */
#shutdown-layer {
  position: fixed; inset: 0;
  background: #000;
  z-index: 8500;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 26px;
}
#shutdown-layer[hidden] { display: none; }
#shutdown-text {
  font-family: "VT323", monospace;
  font-size: clamp(26px, 5.4vmin, 52px);
  color: #ff8c1a;
  text-align: center;
  line-height: 1.25;
  text-shadow: 0 0 14px rgba(255,140,26,.6);
}
#shutdown-sub {
  font-family: "VT323", monospace;
  font-size: 16px;
  color: #7a4a10;
}
