/* Custom styles layered on top of Tailwind */
[data-turbo-preview] body { opacity: 0.7; }

input[type="file"]::-webkit-file-upload-button {
  display: none;
}

.prose-gogu {
  color: #3a5568;
  line-height: 1.7;
}

.iti {
  width: 100%;
}

@keyframes goguStarTwinkle {
  0%, 100% { opacity: 0.14; }
  50% { opacity: 0.58; }
}

@keyframes goguConstellationArc {
  0% { stroke-dashoffset: 800; opacity: 0; }
  10% { opacity: 0.65; }
  78% { opacity: 0.38; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}

@keyframes goguBranchGrow {
  from { stroke-dashoffset: var(--branch-length, 400); opacity: 0; }
  to { stroke-dashoffset: 0; opacity: 0.82; }
}

@keyframes goguFamilyNodePop {
  0% { opacity: 0; transform: scale(0.7); transform-origin: center; }
  100% { opacity: 1; transform: scale(1); transform-origin: center; }
}

@keyframes goguWaveTextureScroll {
  from { object-position: center 42%; }
  to { object-position: center 58%; }
}

.gogu-star {
  opacity: 0.18;
  animation: goguStarTwinkle 3.5s ease-in-out infinite;
}

.gogu-constellation-arc {
  animation: goguConstellationArc 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.gogu-branch {
  opacity: 0;
  animation: goguBranchGrow 1.1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.gogu-family-node {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: goguFamilyNodePop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.gogu-wave-texture {
  animation: goguWaveTextureScroll 22s ease-in-out infinite alternate;
}
