
#gu-easter-egg {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #000;
  overflow: hidden;
  font-family: 'Courier New', monospace;
  color: #39ff8f;
  cursor: default;

  -webkit-user-select: none;
  user-select: none;
}

.ee-square {
  position: absolute;
  width: 14px;
  height: 14px;
  background: #39ff8f;
  box-shadow: 0 0 10px rgba(57, 255, 143, 0.9), 0 0 22px rgba(57, 255, 143, 0.5);
}

.ee-square-blink {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ee-pulse-intro {
  animation: ee-pulse-centered 0.9s ease-in-out 4;
}

.ee-pulse-forever {
  animation: ee-pulse 1.8s ease-in-out infinite;
}

@keyframes ee-pulse {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1.15); }
}

@keyframes ee-pulse-centered {
  0%, 100% { opacity: 0.35; transform: translate(-50%, -50%) scale(0.85); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.15); }
}

.ee-pulse-pair {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 56px;
}

.ee-pulse-pair .ee-square {
  position: static;
}

.ee-terminal {
  position: absolute;
  top: 8vh;
  left: 6vw;
  right: 6vw;
  bottom: 8vh;
  font-size: 15px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-y: auto;

  scrollbar-width: thin;
  scrollbar-color: #39ff8f transparent;
}

.ee-terminal-console {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: min(620px, 84vw);
  max-height: 70vh;
  padding: 22px 26px;
  background: #000;
  border: 2px solid #39ff8f;
  box-shadow:
    0 0 4px rgba(57, 255, 143, 0.8),
    0 0 24px rgba(57, 255, 143, 0.35),
    inset 0 0 30px rgba(57, 255, 143, 0.08);
}

.ee-terminal-console::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(57, 255, 143, 0.05) 0px,
    rgba(57, 255, 143, 0.05) 1px,
    transparent 1px,
    transparent 3px
  );
}

.ee-terminal::-webkit-scrollbar {
  width: 6px;
}

.ee-terminal::-webkit-scrollbar-thumb {
  background: rgba(57, 255, 143, 0.6);
  border-radius: 3px;
}

.ee-terminal-line {
  min-height: 1.65em;
}

.ee-terminal-secret {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.ee-terminal-secret .ee-terminal-line {
  max-width: 640px;
  margin: 0 auto 22px;
}

.ee-terminal-secret .ee-terminal-line:last-child {
  margin-bottom: 0;
}

.ee-secret-image-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5vh 5vw;
  opacity: 0;
  transition: opacity 1s ease-out;
}

.ee-secret-image-wrap.ee-secret-image-visible {
  opacity: 1;
}

.ee-secret-image-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 0 40px rgba(57, 255, 143, 0.2);
}

.ee-password-line {
  display: flex;
  align-items: center;
}

.ee-password-input {
  background: transparent;
  border: none;
  outline: none;
  color: #39ff8f;
  font-family: 'Courier New', monospace;
  font-size: 15px;
  caret-color: #39ff8f;
  flex: 1;
  min-width: 40px;
  -webkit-user-select: text;
  user-select: text;
}

.ee-denied-line {
  color: #ff4d6d;
  min-height: 1.65em;
  opacity: 0;
}

.ee-denied-flash {
  opacity: 1;
  animation: ee-denied-shake 0.4s ease-in-out;
}

@keyframes ee-denied-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.ee-particle {
  position: fixed;
  width: 5px;
  height: 5px;
  background: #39ff8f;
  box-shadow: 0 0 6px rgba(57, 255, 143, 0.9);
  animation: ee-particle-burst 1.3s ease-out forwards;
  pointer-events: none;
}

@keyframes ee-particle-burst {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 1; }
  100% { transform: translate(var(--dx), var(--dy)) rotate(var(--rot)); opacity: 0; }
}
