.skynet-video-login .shell {
  transition: opacity .45s ease, transform .7s cubic-bezier(.2, .8, .2, 1), filter .6s ease;
}
.skynet-entry-active .shell {
  opacity: 0;
  transform: translateY(-8px) scale(.985);
  filter: blur(8px);
  pointer-events: none;
}
.skynet-entry-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483200;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 28px;
  color: #f6efdd;
  background: radial-gradient(ellipse at 50% 48%, rgba(23, 39, 55, .9), rgba(3, 10, 20, .82) 70%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: skynetEntryReveal .4s ease-out both;
}
.skynet-entry-content {
  width: min(860px, 100%);
  text-align: center;
  transform: translateY(-10px);
}
.skynet-entry-title { position: relative; }
.skynet-entry-ink {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 0 20px rgba(232, 201, 149, .08));
}
.skynet-entry-ink [data-pen] {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: skynetEntryWrite var(--ink-duration) linear var(--ink-delay) both;
}
.skynet-entry-accessible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skynet-entry-caption {
  margin: 16px auto 0;
  color: rgba(246, 239, 221, .65);
  font-family: Georgia, Cambria, "Times New Roman", serif;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.5;
  text-wrap: balance;
  animation: skynetEntryCaption .5s ease-out 1.65s both;
}
.skynet-video-login .login button:disabled { opacity: .7; cursor: wait; }
@keyframes skynetEntryReveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes skynetEntryWrite { from { stroke-dashoffset: 1; opacity: 0; } 1% { opacity: 1; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes skynetEntryCaption { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
  .skynet-entry-overlay { padding: 20px; }
  .skynet-entry-caption { max-width: 250px; margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .skynet-video-login .shell { transition: none; }
  .skynet-entry-overlay, .skynet-entry-caption { animation: none; }
  .skynet-entry-ink [data-pen] { animation: none; stroke-dashoffset: 0; }
}

