/* Characters retain their full layout space while the ink is typed in. */
[data-typewriter].type-ready .type-char{position:relative;display:inline;font:inherit;color:inherit;letter-spacing:inherit;opacity:0}
[data-typewriter].type-ready .type-char.is-typed{opacity:1}
[data-typewriter].type-ready .type-char.is-key{animation:type-ink .13s steps(2,end)}
[data-typewriter].type-ready .type-char.is-caret:after{content:"";position:absolute;top:.12em;right:-.09em;width:.065em;min-width:2px;height:.88em;background:currentColor;pointer-events:none;animation:type-caret .65s steps(1,end) infinite}
[data-typewriter].type-ready:not(.type-complete) .word-highlight:not(.type-highlight-complete):after{opacity:0}
@keyframes type-ink{from{opacity:.4}to{opacity:1}}
@keyframes type-caret{0%,70%{opacity:1}71%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-typewriter].type-ready .type-char{opacity:1!important;animation:none!important}[data-typewriter] .type-char.is-caret:after{display:none}[data-typewriter] .word-highlight:after{opacity:1!important}}
.motion-off [data-typewriter].type-ready .type-char{opacity:1;animation:none}.motion-off [data-typewriter] .type-char.is-caret:after{display:none}
