/* WORDSTORE v329 — full-screen spiral entrance overlay. */
.wordstore-entrance {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #000;
  color: #fff;
  opacity: 1;
  visibility: visible;
  transition: opacity .7s ease, visibility .7s ease;
}
.wordstore-entrance[hidden] { display: grid; opacity: 0; visibility: hidden; pointer-events: none; }
.wordstore-entrance.is-closing { opacity: 0; visibility: hidden; pointer-events: none; }
.wordstore-entrance-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.wordstore-entrance::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at center, transparent 0 24%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.78) 100%);
}
.wordstore-entrance-content {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 18px;
  text-align: center;
  animation: wordstore-entrance-rise 1.2s cubic-bezier(.22,.8,.25,1) both;
}
.wordstore-entrance-kicker {
  margin: 0;
  color: rgba(255,255,255,.62);
  font: 700 11px/1 Montserrat, Arial, sans-serif;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.wordstore-entrance-title {
  margin: 0;
  color: #fff;
  font: 700 clamp(42px, 9vw, 112px)/.9 Montserrat, Arial, sans-serif;
  letter-spacing: -.08em;
  text-shadow: 0 0 34px rgba(255,255,255,.24);
}
.wordstore-entrance-button {
  min-width: 158px;
  min-height: 48px;
  padding: 13px 24px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: #fff;
  font: 700 11px/1 Montserrat, Arial, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 0 0 0 rgba(130,36,227,0), 0 12px 38px rgba(0,0,0,.28);
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.wordstore-entrance-button:hover,
.wordstore-entrance-button:focus-visible {
  border-color: #fff;
  background: #8224e3;
  box-shadow: 0 0 0 7px rgba(130,36,227,.16), 0 14px 44px rgba(130,36,227,.34);
  transform: translateY(-2px);
  outline: none;
}
.wordstore-entrance-hint { margin: 0; color: rgba(255,255,255,.42); font: 500 10px/1.4 Montserrat, Arial, sans-serif; letter-spacing: .08em; }
html.wordstore-entrance-lock, html.wordstore-entrance-lock body { overflow: hidden; }
@keyframes wordstore-entrance-rise { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .wordstore-entrance, .wordstore-entrance-button { transition-duration: .01ms; }
  .wordstore-entrance-content { animation: none; }
}
