#typewriter-view .writer{--paper-travel:88px;--paper-feed-ratio:0}
.paper-feed-window{position:relative;overflow:hidden;padding:var(--paper-travel) 0 0;isolation:isolate}
.paper-feed-window .letter{position:relative;transform:translateY(calc(var(--paper-feed-ratio) * var(--paper-travel) * -1)) rotate(-.45deg);transform-origin:50% 100%;transition:transform .28s cubic-bezier(.2,.7,.25,1)}
/* The untyped lower sheet remains behind the fixed platen as the paper advances. */
.paper-feed-window .letter::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 1px);height:calc(var(--paper-travel) + 16px);background:inherit;box-shadow:inset 0 -15px 35px #6c522b0a;pointer-events:none}
.paper-feed-window .letter textarea{height:clamp(130px,21dvh,230px);line-height:1.9}
#typewriter-view .typewriter-rail{margin-top:-4px;box-shadow:0 -5px 8px #1b170f66,0 10px 22px #0009}
#typewriter-view .typewriter-rail i{width:21px;height:25px;border-radius:50%;background:repeating-conic-gradient(#4a4c40 0deg 18deg,#31352d 18deg 36deg);box-shadow:inset 0 0 0 4px #242a23;transform:rotate(var(--roller-turn,0deg));transition:transform .28s ease-out}
@media(max-width:700px){#typewriter-view .writer{--paper-travel:58px}.paper-feed-window .letter textarea{height:clamp(140px,24dvh,220px)}}
@media(max-height:600px){#typewriter-view .writer{--paper-travel:42px}.paper-feed-window .letter{padding-top:22px}.paper-feed-window .letter h3{margin:16px 0}.paper-feed-window .letter textarea{height:125px}}
@media(prefers-reduced-motion:reduce){.paper-feed-window .letter,#typewriter-view .typewriter-rail i{transition:none}}
