/* Only JS-initialized elements wait for the viewport; layout space stays stable. */
[data-enter-state="waiting"] { opacity: 0; }
[data-enter-state="waiting"]:focus-within { opacity: 1; }
.enter-word {
  display: inline-block;
  overflow: clip;
  vertical-align: bottom;
  padding: .08em .1em .16em;
  margin: -.08em -.1em -.16em;
}
.enter-word-inner { display: inline-block; transform-origin: left bottom; }
@media (prefers-reduced-motion:reduce) {
  [data-enter-state] { opacity: 1!important; }
  .enter-word { overflow: visible; }
  .enter-word-inner { transform: none!important; opacity: 1!important; }
}
@media print { [data-enter-state] { opacity: 1!important; } }
