/* Entry animation — System boot: Grid → Type-on + % counter + Glow shift + Letter settle */

#entry-anim {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: var(--bg);
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 1;
  transition: opacity 0.6s ease-out;
}
#entry-anim.done {
  opacity: 0;
  pointer-events: none;
}

.entry-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: 0;
  animation: gridFadeIn 0.8s ease-out forwards, gridPulse 2s ease-in-out 0.8s infinite;
}
@keyframes gridFadeIn {
  to { opacity: 0.4; }
}
@keyframes gridPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.25; }
}

.entry-glow {
  position: absolute;
  width: 700px;
  height: 700px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(196,240,74,0.2), transparent 70%);
  opacity: 0;
  animation: glowShift 2.2s ease-out 0.3s forwards;
  filter: blur(100px);
}
body[data-variant="B"] .entry-glow {
  background: radial-gradient(circle, rgba(123,92,255,0.28), rgba(0,224,255,0.18) 50%, transparent 70%);
}
@keyframes glowShift {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.7); }
  40% { opacity: 1; transform: translate(-50%, -50%) scale(1); background: radial-gradient(circle, rgba(196,240,74,0.2), transparent 70%); }
  100% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.3); background: radial-gradient(circle, rgba(196,240,74,0.12), rgba(255,255,255,0.04) 60%, transparent 75%); }
}
body[data-variant="B"] @keyframes glowShift {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.7); }
  40% { opacity: 1; transform: translate(-50%, -50%) scale(1); background: radial-gradient(circle, rgba(123,92,255,0.28), rgba(0,224,255,0.18) 50%, transparent 70%); }
  100% { opacity: 0.85; transform: translate(-50%, -50%) scale(1.3); background: radial-gradient(circle, rgba(0,224,255,0.2), rgba(123,92,255,0.15) 55%, transparent 75%); }
}

/* SOLANE wordmark — center, types on with letter spacing settle */
.entry-wordmark {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(60px, 12vw, 160px);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  animation: wordmarkSettle 0.6s ease-out 1.1s forwards;
}
@keyframes wordmarkSettle {
  to { letter-spacing: 0.02em; }
}
body[data-variant="B"] .entry-wordmark {
  font-family: "Inter Tight", sans-serif;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
}
body[data-variant="B"] @keyframes wordmarkSettle {
  to { letter-spacing: -0.02em; }
}

.entry-letter {
  display: inline-block;
  color: var(--fg);
  opacity: 0;
  transform: translateY(6px);
  animation: letterType 0.1s ease-out forwards;
}
body[data-variant="B"] .entry-letter {
  background: linear-gradient(135deg, var(--fg) 0%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@keyframes letterType {
  to { opacity: 1; transform: translateY(0); }
}
.entry-letter:nth-child(1) { animation-delay: 0.5s; }
.entry-letter:nth-child(2) { animation-delay: 0.58s; }
.entry-letter:nth-child(3) { animation-delay: 0.66s; }
.entry-letter:nth-child(4) { animation-delay: 0.74s; }
.entry-letter:nth-child(5) { animation-delay: 0.82s; }
.entry-letter:nth-child(6) { animation-delay: 0.90s; }

/* Progress percentage counter - REMOVED */

/* Cursor blink */
.entry-cursor {
  display: inline-block;
  width: 3px;
  height: 0.8em;
  background: var(--accent);
  margin-left: 10px;
  opacity: 0;
  animation: cursorBlink 0.7s step-end 1s 3;
}
@keyframes cursorBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Underline draw */
.entry-underline {
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--accent);
  box-shadow: 0 0 12px rgba(196,240,74,0.6);
  transform: scaleX(0);
  transform-origin: left;
  animation: underlineDraw 0.5s ease-out 1.3s forwards;
}
body[data-variant="B"] .entry-underline {
  background: linear-gradient(90deg, #7b5cff, #00e0ff);
  box-shadow: 0 0 12px rgba(0,224,255,0.5);
}
@keyframes underlineDraw {
  to { transform: scaleX(1); }
}

/* Scan line quick sweep - REMOVED */

/* System status */
.entry-status {
  position: absolute;
  bottom: 18%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: 0;
  animation: statusPulse 0.3s ease-out 1.8s forwards;
}
@keyframes statusPulse {
  0% { opacity: 0; transform: translateX(-50%) scale(0.95); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
  100% { opacity: 0.8; transform: translateX(-50%) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  #entry-anim { display: none !important; }
}



