/* Stable lines preserve the existing zoom/stretch while reserving its space. */
.app-tagline.stable-tagline,.game-tagline.stable-tagline{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:0;height:auto;min-height:1.6em;overflow-anchor:none}
.work-section .app-tagline.stable-tagline{width:100%}
.stable-tagline>.tagline-line,.stable-tagline:hover>.tagline-line{display:inline-flex;align-items:flex-end;justify-content:center;flex:none;flex-wrap:nowrap;gap:var(--tagline-gap);font-size:1em;height:1.6em;white-space:nowrap;transition:none}
.stable-tagline .tagline-word,.stable-tagline:hover .tagline-word{--stretch-x:1;--stretch-y:1;--word-zoom:1;position:relative;display:inline-block;flex:none;min-width:var(--word-natural-width);width:max(var(--word-natural-width),calc(var(--word-natural-width)*var(--stretch-x)*var(--word-zoom)));height:1.15em;font-size:1em;line-height:1.15;white-space:nowrap;transition:width .55s cubic-bezier(.22,1,.36,1)}
.stable-tagline .tagline-glyph{position:absolute;left:0;bottom:0;width:max-content;white-space:nowrap;display:inline-block;transform:scale(calc(var(--stretch-x)*var(--word-zoom)),calc(var(--stretch-y)*var(--word-zoom)));transform-origin:left bottom;transition:transform .55s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
 .stable-tagline:hover .tagline-word{--word-zoom:1.04}
 .stable-tagline .tagline-word:hover{--word-zoom:1.16}
 .stable-tagline .caption-grow:hover{--stretch-x:1.38;--stretch-y:.9}
 .stable-tagline .caption-shrink:hover{--stretch-x:.62;--stretch-y:1.12}
}
@media(prefers-reduced-motion:reduce){
 .stable-tagline .tagline-word,.stable-tagline:hover .tagline-word,.stable-tagline .tagline-word:hover{--stretch-x:1;--stretch-y:1;--word-zoom:1;transition:none}
 .stable-tagline .tagline-glyph{transition:none}
}
