* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
.login-body {
  font-family: "Segoe UI", "Liberation Sans", system-ui, sans-serif;
  color: #2b261f;
  background: #f3eee6;
}
.login-body, .scene { height: 100vh; overflow: hidden; }
.scene { position: relative; }
.scene .bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 62%;
}
.scene .color { opacity: 0; transition: opacity 2.4s ease; }
.scene.ok .color { opacity: 1; }
.login-panel {
  position: absolute;
  left: 50%;
  top: 11%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 2;
}
.login-hint {
  display: inline-block;
  margin: 0 0 18px;
  padding: 8px 22px;
  color: #efe8dc;
  font-size: 1.45rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  background: #3c3833;
  border-radius: 8px;
}
.boxes { display: flex; gap: 20px; justify-content: center; }
.box {
  width: 184px; height: 208px;
  font-size: 5rem;
  text-align: center;
  text-transform: uppercase;
  border: 3px solid #2b261f;
  border-radius: 16px;
  background: rgba(255,250,242,0.92);
  color: #6e2a32;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.box:focus { outline: 3px solid #6d8a6c; }
.scene.bad { animation: drzyj 0.55s ease; }
@keyframes drzyj {
  0%,100% { transform: translateX(0); }
  20% { transform: translateX(-14px); }
  40% { transform: translateX(14px); }
  60% { transform: translateX(-9px); }
  80% { transform: translateX(9px); }
}
.scene.ok .login-panel { opacity: 0; transition: opacity .6s ease .2s; pointer-events: none; }
@media (max-width: 700px) {
  .login-panel { top: 6%; }
  .box { width: 72px; height: 82px; font-size: 2rem; }
}
