/* Exact title geometry stays in the reserved text while the ink types. */
[data-typewriter] .type-line { display: block; position: relative; }
.typewriter-ready .type-reserve { display: block; visibility: hidden; }
.type-current { position: absolute; inset: 0; }
.type-caret { position: absolute; top: 0; left: 0; width: .035em; min-width: 2px; max-width: 3px; height: .78em; border-radius: 1px; background: currentColor; pointer-events: none; opacity: 0; }
.typewriter-running .type-caret.is-active { opacity: 1; }
.typewriter-running[data-typing="false"] .type-caret.is-active { animation: title-caret .8s step-end infinite; }
@keyframes title-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .typewriter-ready .type-reserve { visibility: visible; }
  .type-current, .type-caret { display: none; }
}
