/* Pre-unseal gate — base lock + credit glitch (layout in seal-gate.css) */

body.tmf-locked {
  overflow: hidden;
  height: 100vh;
}

body.tmf-locked .edition-ribbon,
body.tmf-locked .hero,
body.tmf-locked .site-chrome,
body.tmf-locked .realm-nav,
body.tmf-locked .wrapper,
body.tmf-locked footer,
body.tmf-locked .discovery-hud,
body.tmf-locked .cipher-rail,
body.tmf-locked .archive-wax,
body.tmf-locked .corner-rune,
body.tmf-locked .archive-frame,
body.tmf-locked .scroll-progress {
  visibility: hidden;
  pointer-events: none;
}

body.tmf-locked .tmf-seal .tmf-seal-meta {
  visibility: visible;
  pointer-events: auto;
}

body.tmf-locked #ambient-mesh,
body.tmf-locked .paper-grain,
body.tmf-locked .vignette {
  visibility: visible;
  pointer-events: none;
}

.tmf-seal-hidden,
#tmf-seal[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

.tmf-kicker-plain,
.tmf-kicker-plain:hover,
.tmf-kicker-plain:focus,
.tmf-kicker-plain:active {
  cursor: default !important;
  color: inherit;
  outline: none;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.tmf-credit-glitch {
  position: relative;
  text-align: center;
}

.tmf-credit-glitch-text {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.tmf-credit-glitch.is-surge .tmf-credit-glitch-text {
  animation: tmfCreditSkew 0.14s steps(2, end) 2;
  text-shadow:
    2px 0 rgba(180, 48, 56, 0.75),
    -2px 0 rgba(74, 140, 160, 0.55);
}

.tmf-credit-glitch.is-surge::before,
.tmf-credit-glitch.is-surge::after {
  content: attr(data-glitch);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: max-content;
  max-width: 100%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.65;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.tmf-credit-glitch.is-surge::before {
  color: rgba(180, 48, 56, 0.9);
  clip-path: inset(0 0 55% 0);
  transform: translateX(calc(-50% - 3px));
}

.tmf-credit-glitch.is-surge::after {
  color: rgba(74, 140, 160, 0.85);
  clip-path: inset(45% 0 0 0);
  transform: translateX(calc(-50% + 3px));
}

@keyframes tmfCreditSkew {
  0% { transform: translate(0); }
  40% { transform: translate(-4px, 1px) skewX(-4deg); }
  70% { transform: translate(3px, -1px) skewX(3deg); }
  100% { transform: translate(0); }
}

.folio-credit-glitch {
  min-height: 1.4em;
}
