/* Forms in pop-ups */
.pop-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pop-pw {
  position: relative;
  display: flex;
}
.pop-pw .pop-input {
  flex: 1;
  padding-right: 56px;
}
.pop-eye {
  position: absolute;
  right: 6px;
  top: 6px;
  bottom: 6px;
  width: 44px;
  border-radius: 10px;
  font-size: 20px;
  opacity: 0.45;
  transition: opacity 0.2s;
}
.pop-eye.on { opacity: 1; }
.pop-error:empty { display: none; }
.pop-error {
  padding: 10px 12px;
  border-radius: 12px;
  background: #0d0d0d;
  color: #ff8c9a;
  font: 700 13px/1.4 var(--mono);
}
.pop-card.is-danger .pop-error { background: rgba(255, 31, 61, 0.14); }
.pop-btn.busy {
  opacity: 1 !important;
  background-image: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.28) 50%, transparent 70%);
  background-size: 250% 100%;
  animation: busy-sheen 1.1s linear infinite;
}
@keyframes busy-sheen {
  from { background-position: 120% 0; }
  to { background-position: -120% 0; }
}
.pop-card.working .pop-icon {
  animation: lock-wobble 0.6s ease-in-out infinite alternate;
}
@keyframes lock-wobble {
  from { transform: rotate(-10deg) scale(1); }
  to { transform: rotate(6deg) scale(1.08); }
}
.pw-meter {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}
.pw-meter i {
  height: 7px;
  border-radius: 4px;
  background: rgba(13, 13, 13, 0.18);
  transition: background 0.25s;
}
.pw-meter small {
  grid-column: 1 / -1;
  font: 9px/1.3 var(--pixel);
  letter-spacing: 0.04em;
}
.pw-meter[data-n="0"] i:nth-child(-n + 1) { background: #d91d16; }
.pw-meter[data-n="1"] i:nth-child(-n + 2) { background: #ff5a1f; }
.pw-meter[data-n="2"] i:nth-child(-n + 3) { background: #0d0d0d; }
.pw-meter[data-n="3"] i:nth-child(-n + 4),
.pw-meter[data-n="4"] i { background: #0d0d0d; }
.pw-meter[data-n="4"] { filter: drop-shadow(0 0 6px rgba(13, 13, 13, 0.35)); }
.recovery-code {
  padding: 14px;
  border-radius: 14px;
  background: #0d0d0d;
  color: var(--yellow);
  font: 700 17px/1.4 var(--mono);
  letter-spacing: 0.06em;
  text-align: center;
  word-break: break-all;
  -webkit-user-select: all;
  user-select: all;
}
.pop-card .install-go.quiet { color: var(--pop-ink); border-color: var(--pop-ink); }
