/* ============================================================
   Z7 ↔ UNIVC — shared page transition (curtain)
   Continuous upward wipe that connects both sibling pages.
   ============================================================ */
.page-curtain {
  position: fixed; inset: 0; z-index: 9998;
  background:
    radial-gradient(120% 90% at 50% 0%, #0a3d20 0%, #032915 60%, #021a0e 100%);
  display: grid; place-items: center;
  transform: translateY(100%);
  pointer-events: none;
  will-change: transform;
}
/* Covered state on entry — applied before first paint, no flash */
html.xtn-entering .page-curtain { transform: translateY(0); }

.page-curtain-inner {
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  opacity: 0; transform: translateY(10px);
  transition: opacity .5s ease, transform .5s ease;
}
html.xtn-entering .page-curtain .page-curtain-inner,
.page-curtain.is-cover .page-curtain-inner { opacity: 1; transform: none; }

.pc-stars { display: inline-flex; gap: 7px; color: #3DA869; }
.pc-stars .material-symbols-outlined { font-size: 16px; font-variation-settings: 'FILL' 1, 'wght' 500, 'opsz' 20; }
.pc-lockup {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 800; font-size: clamp(1.3rem, 3.4vw, 2rem); letter-spacing: -0.01em;
  color: #fff; display: flex; align-items: center; gap: 14px;
}
.pc-lockup .x { color: #3DA869; font-weight: 500; }
.pc-tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 600; letter-spacing: 0.34em; text-transform: uppercase;
  color: #C9A24B;
}
.pc-rule { width: 64px; height: 1px; background: linear-gradient(90deg, transparent, #C9A24B, transparent); }

@media (prefers-reduced-motion: reduce) {
  .page-curtain, html.xtn-entering .page-curtain { transition: none; }
}
