html.intro-pending { background: #080d17; }
html.intro-pending .site-shell { visibility: hidden; }
html.intro-pending #intro-overlay { display: grid !important; }
.entry-screen[hidden] { display: none !important; }
.intro-open { overflow: hidden; }
.entry-screen {
  position: fixed; inset: 0; z-index: 1000;
  display: grid; place-items: center; overflow: hidden;
  background: #080d17; color: #edf7ff;
  opacity: 1; transition: opacity .6s ease, visibility .6s;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.entry-screen::before {
  content: ""; position: absolute; inset: -20%; pointer-events: none;
  background: radial-gradient(ellipse at 50% 46%, rgb(92 145 224 / 16%) 0, rgb(39 71 123 / 6%) 28%, transparent 61%);
  opacity: .8; transform: scale(.96);
  animation: entry-glow 2.5s ease-out both;
}
.entry-center {
  position: relative; z-index: 2; text-align: center;
  width: max-content; max-width: calc(100% - 32px); padding: 24px;
}
.entry-kicker { display: none; }
.entry-greeting {
  margin: 0; color: #edf7ff;
  font-size: clamp(38px, 7vw, 92px); font-weight: 500;
  line-height: 1.35; letter-spacing: .035em; white-space: nowrap;
  text-shadow: 0 0 30px rgb(159 204 255 / 16%), 0 1px 1px rgb(255 255 255 / 5%);
  transition: opacity .16s ease, transform .18s ease, filter .18s ease;
}
.entry-greeting::before { content: none; }
.entry-greeting.is-revealing { animation: entry-reveal .7s cubic-bezier(.16, 1, .3, 1) both; }
.entry-greeting.is-changing { opacity: 0; transform: translateY(-9px); filter: blur(4px); }
.entry-screen:focus { outline: none; }
.entry-screen :focus-visible { outline: 2px solid #b4d7ff; outline-offset: 6px; }
.entry-pixels { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }
.entry-screen.is-leaving { pointer-events: none; }
.entry-screen.is-leaving .entry-greeting,
.entry-screen.is-leaving .entry-kicker { opacity: 0; animation: none; }
.entry-screen.is-leaving::before { animation: none; opacity: .45; transition: opacity .5s ease; }
.entry-screen.is-fading { opacity: 0; visibility: hidden; }
@keyframes entry-reveal {
  from { opacity: 0; transform: translateY(12px); filter: blur(8px); clip-path: inset(0 100% 0 0); }
  45% { opacity: 1; filter: blur(0); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); clip-path: inset(0 0 0 0); }
}
@keyframes entry-glow {
  from { opacity: .3; transform: scale(.9); }
  to { opacity: .8; transform: scale(1); }
}
@media (max-width: 600px) {
  .entry-center { padding: 16px; }
  .entry-greeting { font-size: clamp(34px, 8.5vw, 48px); letter-spacing: .025em; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-screen, .entry-screen *, .entry-screen::before { animation: none !important; transition: none !important; }
}
