/* U192/U195: a finite pose on hover; reverse from the current pose on leave.
   Keep transitions on the resting rule so early leave/re-entry stays continuous.
   Animate only the mark, never the hitbox or lettering. No repeating animations.
   19 and 22 retain their original endpoints and timing. */
.world-header .world-brand > :is(svg,.kana-mark){transform-origin:50% 50%}
.world-header .world-brand svg :is(path,circle){transform-box:view-box;transform-origin:50% 50%}

@media (prefers-reduced-motion:no-preference){
  [data-world="19"] .world-brand > svg{transform:rotate(0deg);transition:transform .6s cubic-bezier(.2,.6,.1,1)}
  [data-world="19"] .world-brand:is(:hover,:focus-visible) > svg{transform:rotate(90deg)}
  [data-world="22"] .world-brand > svg{transform:rotate(0deg) scale(1);transition:transform .3s ease}
  [data-world="22"] .world-brand:is(:hover,:focus-visible) > svg{transform:rotate(-15deg) scale(1.12)}

  [data-world="05"] .world-brand > svg{transform:rotate(0deg);transition:transform .9s linear}
  [data-world="05"] .world-brand:is(:hover,:focus-visible) > svg{transform:rotate(360deg)}
  [data-world="15"] .world-brand > svg{transform:skewX(0deg) scale(1,1);transition:transform .7s ease-in-out}
  [data-world="15"] .world-brand:is(:hover,:focus-visible) > svg{transform:skewX(-14deg) scale(.8,1.1)}
  [data-world="16"] .world-header .world-brand > svg{transform-origin:50% 100%;transform:rotate(0deg) scaleY(1);transition:transform .65s ease-in-out}
  [data-world="16"] .world-brand:is(:hover,:focus-visible) > svg{transform:rotate(-18deg) scaleY(1.5)}

  [data-world="23"] .world-brand > svg{transform:rotate(0deg);transition:transform .66s ease-in-out}
  [data-world="23"] .world-brand:is(:hover,:focus-visible) > svg{transform:rotate(-9deg)}
  [data-world="23"] .world-brand svg path:first-of-type{transform-origin:50% 80%;transform:rotate(0deg) scaleY(1);transition:transform .66s ease-in-out}
  [data-world="23"] .world-brand:is(:hover,:focus-visible) svg path:first-of-type{transform:rotate(12deg) scaleY(1.3)}
}

/* U196-U199: finite cartoon gestures in brand-gestures.js. Hidden buds do not
   alter the resting mark. The same timeline is reversed, never restarted. */
[data-world="21"] .world-brand .colony-bud{opacity:0}
[data-world="21"] .world-brand .colony-bud-0{transform-origin:11px 27px}
[data-world="21"] .world-brand .colony-bud-1{transform-origin:29px 29px}
[data-world="24"] .world-header .world-brand > svg{transform-origin:50% 90%}
[data-world="24"] .world-brand svg path:nth-of-type(2){transform-origin:50% 84%}
[data-world="24"] .world-brand svg circle{transform-origin:14px 23px}
[data-world="25"] .world-brand > .kana-mark{transform-origin:50% 100%}
