/* ==========================================================================
   growthway_ FX — cluster IDENTIDADE
   BOOT_ (preloader de terminal) · decode CNJ · underscore peregrino · cursor-caret
   Módulo isolado: nada aqui altera estilos do site — só classes gw-*.
   ========================================================================== */

/* ---------- BOOT_ — preloader de terminal ---------- */
.gw-boot {
  position: fixed;
  inset: 0;                       /* top é ajustado por JS p/ nunca cobrir a .topbar CVM */
  z-index: 900;
  background: var(--cream, #f1eee6);
  color: var(--ink, #17171a);
  font-family: var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  display: flex;
  align-items: center;
  justify-content: center;
  clip-path: inset(0 0 0 0);
}

.gw-boot-inner { width: min(30rem, 84vw); }

.gw-boot-brand {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.045em;
  transform-origin: 0 0;
  will-change: transform;
}

.gw-boot-cursor {
  color: var(--accent, #e8622a);
  font-style: normal;
  font-weight: 600;
  animation: gwBlink 1.06s steps(1) infinite;
}

.gw-boot-log {
  margin-top: 1.5rem;
  min-height: 8.4em;
  font-family: inherit;
  font-size: 0.78rem;
  line-height: 2.1;
  letter-spacing: 0.01em;
  color: var(--muted, #6f6a60);
  white-space: pre-wrap;
}

/* contraste sobre o creme: ok em accent-on-light (4.8:1), pendente em #5a564d
   (6.3:1) sem opacidade — a hierarquia fica no prefixo/tag, não na transparência */
.gw-boot-log .gw-ok   { color: var(--accent-on-light, #b3441a); font-style: normal; font-weight: 600; }
.gw-boot-log .gw-pend { color: #5a564d; font-style: normal; }

html.gw-boot-lock { overflow: hidden; }

/* ---------- underscore peregrino — sublinhado vivo dos capítulos ---------- */
.gw-peregrino {
  position: absolute;
  z-index: 4;
  width: 2rem;
  height: 3px;
  background: var(--accent, #e8622a);
  border-radius: 99px;
  box-shadow: 0 0 14px rgba(232, 98, 42, 0.4);
  pointer-events: none;
  opacity: 0;
}

/* ---------- cursor-caret — um _ pequeno acompanha o ponteiro nativo ---------- */
.gw-caret {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 55;                    /* abaixo do dock (z 60): nunca cobre a navegação */
  font-family: var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: var(--accent, #e8622a);
  text-shadow: 0 0 8px rgba(232, 98, 42, 0.35);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  will-change: transform;
}

.gw-caret i { font-style: normal; display: inline-block; }

@keyframes gwBlink { 50% { opacity: 0; } }

/* reduced motion desliga tudo; o conteúdo real nunca depende destes elementos */
@media (prefers-reduced-motion: reduce) {
  .gw-boot, .gw-peregrino, .gw-caret { display: none !important; }
}

/* mobile: efeitos decorativos fora; boot é leve e permanece */
@media (max-width: 940px) {
  .gw-peregrino, .gw-caret { display: none !important; }
}
