<commit_before>.animate_nav() {
  .nav-head {
    animation: in-fade-top @run @run_slower @bezier_deform backwards;
  }
}
.animate_the_why() {
  .our-philosophy {
    animation: our-philosophy @run @run @bezier_deform backwards;
    transform-origin: 0 0;
  }
  .our-proof {
    animation: in-fade-bottom @run @run_fast @bezier_deform backwards;
  }
}
// TODO move artwork animations in here from landing.less
// .animate_landing() {
//   &.page-landing {
//     //
//   }
// }
.animate_page_transitions() {
  .animate_the_why();
  // TODO move artwork animations in here from landing.less
  // .animate_landing();
  .animate_pricing();
  .animate_early_access();
  .animate_trial();
  .animate_team_features();
}
.animate_landing_features() {
  .animate_art_voice();
}
.animate_pricing() {
  &.page-pricing {
    @run1: (@run) (@now);
    @run2: (@run) ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run) ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    @run6: (@run) ((extract(@run5, 1) * 0.08) + extract(@run5, 2));
    @run7: (@run) ((extract(@run6, 1) * 0.05) + extract(@run6, 2));
    @run8: (@run) ((extract(@run7, 1) * 0.03) + extract(@run7, 2));
    @run9: (@run) ((extract(@run8, 1) * 0.02) + extract(@run8, 2));
    .price-solo .price-head {animation: in-fade-left-soft  @run4 backwards;}
    .price-solo .price-body {animation: in-fade-left-soft  @run6 backwards;}
    .price-solo .price-foot {animation: in-fade-left-soft  @run8 backwards;}
    .price-team .price-head {animation: in-shrink          @run1 backwards;}
    .price-team .price-body {animation: in-shrink          @run2 backwards;}
    .price-team .price-foot {animation: in-shrink          @run3 backwards;}
    .price-corp .price-head {animation: in-fade-right-soft @run5 backwards;}
    .price-corp .price-body {animation: in-fade-right-soft @run7 backwards;}
    .price-corp .price-foot {animation: in-fade-right-soft @run9 backwards;}
    .price-divide.left   {animation: in-fade-left-soft @run3 backwards;}
    .price-divide.right {animation: in-fade-right-soft @run4 backwards;}
    .price-blocks-foot {animation: in-fade-bottom-soft @run9 backwards;}
  }
}
.animate_early_access() {
  &.page-early-access {
    @run1: (@run) (@now);
    @run2: (@run_slow) ((extract(@run1, 1) * 1.44) + extract(@run1, 2));
    @run3: (@run_slow) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slow) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run_slow) ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    .early-access-sign   {animation: in-shrink         @run1 backwards;}
    .early-access-name   {animation: in-fade-left-soft @run2 backwards;}
    .early-access-size   {animation: in-fade-left-soft @run3 backwards;}
    .early-access-uses   {animation: in-fade-left-soft @run4 backwards;}
    .early-access-button {animation: in-fade-left-soft @run5 backwards;}
  }
}
.animate_trial() {
  &.page-trial {
    @run1: (@run_slow)   (@now);
    @run2: (@run_slower) ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run)        ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slower) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run_slow)   ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    .outer-form-heading          {animation: in-shrink           @run1 backwards;}
    .outer-form-copy             {animation: in-shrink           @run2 backwards;}
    .subdomain-input-placeholder {animation: in-fade-bottom-soft @run3 backwards;}
    .subdomain-input-append      {animation: in-fade-right-soft  @run4 backwards;}
    .bubble-button               {animation: in-fade-bottom-soft @run5 backwards;}
  }
}
.animate_team_features() {
  &.page-team-features {
    @run1: (@run_slower) (@now);
    @run2: (@run)        ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run_slow)   ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slower) ((extract(@run3, 1) * 0.55) + extract(@run3, 2));
    @run5: (@run_slow)   ((extract(@run4, 1) * 0.34) + extract(@run4, 2));
    @run6: (@run_slow)   ((extract(@run5, 1) * 0.21) + extract(@run5, 2));
    @run7: (@run_slow)   ((extract(@run6, 1) * 0.13) + extract(@run6, 2));
    .features-head h1   {animation: in-shrink           @run1 backwards;}
    .features-head p    {animation: in-shrink           @run2 backwards;}
    .bubble-button      {animation: in-shrink           @run2 backwards;}
    .bubble-button span {animation: in-fade-bottom-soft @run3 backwards;}
    .feature-media      {animation: in-zoom-soft        @run4 backwards;}
    .feature-headline   {animation: in-fade-left-soft   @run5 backwards;}
    .feature-copy       {animation: in-fade-left-soft   @run6 backwards;}
    .feature-link       {animation: in-fade-left-soft   @run7 backwards;}
  }
}
.animate_art_voice() {
  .art-voice-list {
    @run1: (@run_slow) (@run);
    @run2: (@run_slow) ((extract(@run1, 1) * 0.34) + extract(@run1, 2));
    @run3: (@run_slow) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slow) ((extract(@run3, 1) * 0.34) + extract(@run3, 2));
    @run5: (@run_slow) ((extract(@run4, 1) * 0.34) + extract(@run4, 2));
    @run6: (@run_slow) ((extract(@run5, 1) * 0.55) + extract(@run5, 2));
    @run7: (@run)      ((extract(@run6, 1) * 0.34) + extract(@run6, 2));
    @run8: (@run)      ((extract(@run7, 1) * 0.21) + extract(@run7, 2));
    @run9: (@run)      ((extract(@run8, 1) * 0.13) + extract(@run8, 2));
    .art-voice-user.a {animation: in-fade-left      @run1 backwards;}
    .art-voice-name.a {animation: in-fade-left-soft @run1 backwards;}
    .art-voice-talk.a {animation: in-zoom           @run2 backwards;}
    .art-voice-user.b {animation: in-fade-left      @run2 backwards;}
    .art-voice-name.b {animation: in-fade-left-soft @run2 backwards;}
    .art-voice-talk.b {animation: in-zoom           @run2 backwards;}
    .art-voice-user.c {animation: in-fade-left      @run3 backwards;}
    .art-voice-name.c {animation: in-fade-left-soft @run3 backwards;}
    .art-voice-talk.c {animation: in-zoom           @run4 backwards;}
    .art-voice-user.d {animation: in-fade-left      @run4 backwards;}
    .art-voice-name.d {animation: in-fade-left-soft @run4 backwards;}
    .art-voice-talk.d {animation: in-zoom           @run5 backwards;}
    .focus {
      .iconpile     {animation: in-fade @run6 backwards; transform-origin: center;}
      .stroke-sound {animation: in-zoom @run7 backwards; transform-origin: center;}
      .stroke-wave1 {animation: in-zoom @run7 backwards; transform-origin: left;}
      .stroke-wave2 {animation: in-zoom @run8 backwards; transform-origin: left;}
      .stroke-wave3 {animation: in-zoom @run9 backwards; transform-origin: left;}
    }
  }
}
.animate_menu_opened() {
  @run1: (@run)      (@now);
  @run2: (@run_slow) ((extract(@run1, 1) * 0.21) + extract(@run1, 2));
  @run3: (@run)      ((extract(@run2, 1) * 0.13) + extract(@run2, 2));
  @run4: (@run)      ((extract(@run3, 1) * 0.08) + extract(@run3, 2));
  @run5: (@run)      ((extract(@run4, 1) * 0.05) + extract(@run4, 2));
  .inner      {animation: opened-menu-inner      @run1 backwards;}
  .background {animation: opened-menu-background @run2 backwards;}
  .canvas     {animation: opened-menu-canvas     @run3 backwards;}
  .chat       {animation: opened-menu-chat       @run4 backwards;}
  .foreground {animation: opened-menu-foreground @run5 backwards;}
}
.animate_menu_closed() {
  @run1: (@run_fast) (@now);
  @run2: (@run)      ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
  @run3: (@run_fast) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
  .background {animation: closed-menu-background @run1 backwards;}
  .canvas     {animation: closed-menu-canvas     @run2 backwards;}
  .chat       {animation: closed-menu-chat       @run3 backwards;}
}
.animate_chat_opened() {
  &:not(.chat-closed) {
    @run1: (@run)        (@now);
    @run2: (@run_slower) ((extract(@run1, 1) * 0.34) + extract(@run1, 2));
    @run3: (@run)        ((extract(@run2, 1) * 0.21) + extract(@run2, 2));
    @run4: (@run_slow)   ((extract(@run3, 1) * 0.13) + extract(@run3, 2));
    .chat-window    {animation: opened-chat         @run1 backwards;}
    .chat-log       {animation: in-fade-right-soft  @run2 backwards;}
    .chat-box       {animation: in-fade-bottom-soft @run3 backwards;}
    .chat-box label {animation: in-fade-bottom-soft @run4 backwards;}
  }
}
.animate_chat_closed() {
  &:not(.chat-opened) {
    @run1: (@run)      (@now);
    @run2: (@run)      ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run_fast) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    .chat-window       {animation: closed-chat @run1 backwards;}
    // TODO come back to smooth this out
    // .chat-log          {animation: closed-chat      @run2 backwards;}
    // .chat-box          {animation: closed-chat  @run3 backwards;}<commit_msg>make chat opening a bit faster<commit_after>.animate_nav() {
  .nav-head {
    animation: in-fade-top @run @run_slower @bezier_deform backwards;
  }
}
.animate_the_why() {
  .our-philosophy {
    animation: our-philosophy @run @run @bezier_deform backwards;
    transform-origin: 0 0;
  }
  .our-proof {
    animation: in-fade-bottom @run @run_fast @bezier_deform backwards;
  }
}
// TODO move artwork animations in here from landing.less
// .animate_landing() {
//   &.page-landing {
//     //
//   }
// }
.animate_page_transitions() {
  .animate_the_why();
  // TODO move artwork animations in here from landing.less
  // .animate_landing();
  .animate_pricing();
  .animate_early_access();
  .animate_trial();
  .animate_team_features();
}
.animate_landing_features() {
  .animate_art_voice();
}
.animate_pricing() {
  &.page-pricing {
    @run1: (@run) (@now);
    @run2: (@run) ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run) ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    @run6: (@run) ((extract(@run5, 1) * 0.08) + extract(@run5, 2));
    @run7: (@run) ((extract(@run6, 1) * 0.05) + extract(@run6, 2));
    @run8: (@run) ((extract(@run7, 1) * 0.03) + extract(@run7, 2));
    @run9: (@run) ((extract(@run8, 1) * 0.02) + extract(@run8, 2));
    .price-solo .price-head {animation: in-fade-left-soft  @run4 backwards;}
    .price-solo .price-body {animation: in-fade-left-soft  @run6 backwards;}
    .price-solo .price-foot {animation: in-fade-left-soft  @run8 backwards;}
    .price-team .price-head {animation: in-shrink          @run1 backwards;}
    .price-team .price-body {animation: in-shrink          @run2 backwards;}
    .price-team .price-foot {animation: in-shrink          @run3 backwards;}
    .price-corp .price-head {animation: in-fade-right-soft @run5 backwards;}
    .price-corp .price-body {animation: in-fade-right-soft @run7 backwards;}
    .price-corp .price-foot {animation: in-fade-right-soft @run9 backwards;}
    .price-divide.left   {animation: in-fade-left-soft @run3 backwards;}
    .price-divide.right {animation: in-fade-right-soft @run4 backwards;}
    .price-blocks-foot {animation: in-fade-bottom-soft @run9 backwards;}
  }
}
.animate_early_access() {
  &.page-early-access {
    @run1: (@run) (@now);
    @run2: (@run_slow) ((extract(@run1, 1) * 1.44) + extract(@run1, 2));
    @run3: (@run_slow) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slow) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run_slow) ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    .early-access-sign   {animation: in-shrink         @run1 backwards;}
    .early-access-name   {animation: in-fade-left-soft @run2 backwards;}
    .early-access-size   {animation: in-fade-left-soft @run3 backwards;}
    .early-access-uses   {animation: in-fade-left-soft @run4 backwards;}
    .early-access-button {animation: in-fade-left-soft @run5 backwards;}
  }
}
.animate_trial() {
  &.page-trial {
    @run1: (@run_slow)   (@now);
    @run2: (@run_slower) ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run)        ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slower) ((extract(@run3, 1) * 0.21) + extract(@run3, 2));
    @run5: (@run_slow)   ((extract(@run4, 1) * 0.13) + extract(@run4, 2));
    .outer-form-heading          {animation: in-shrink           @run1 backwards;}
    .outer-form-copy             {animation: in-shrink           @run2 backwards;}
    .subdomain-input-placeholder {animation: in-fade-bottom-soft @run3 backwards;}
    .subdomain-input-append      {animation: in-fade-right-soft  @run4 backwards;}
    .bubble-button               {animation: in-fade-bottom-soft @run5 backwards;}
  }
}
.animate_team_features() {
  &.page-team-features {
    @run1: (@run_slower) (@now);
    @run2: (@run)        ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run_slow)   ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slower) ((extract(@run3, 1) * 0.55) + extract(@run3, 2));
    @run5: (@run_slow)   ((extract(@run4, 1) * 0.34) + extract(@run4, 2));
    @run6: (@run_slow)   ((extract(@run5, 1) * 0.21) + extract(@run5, 2));
    @run7: (@run_slow)   ((extract(@run6, 1) * 0.13) + extract(@run6, 2));
    .features-head h1   {animation: in-shrink           @run1 backwards;}
    .features-head p    {animation: in-shrink           @run2 backwards;}
    .bubble-button      {animation: in-shrink           @run2 backwards;}
    .bubble-button span {animation: in-fade-bottom-soft @run3 backwards;}
    .feature-media      {animation: in-zoom-soft        @run4 backwards;}
    .feature-headline   {animation: in-fade-left-soft   @run5 backwards;}
    .feature-copy       {animation: in-fade-left-soft   @run6 backwards;}
    .feature-link       {animation: in-fade-left-soft   @run7 backwards;}
  }
}
.animate_art_voice() {
  .art-voice-list {
    @run1: (@run_slow) (@run);
    @run2: (@run_slow) ((extract(@run1, 1) * 0.34) + extract(@run1, 2));
    @run3: (@run_slow) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    @run4: (@run_slow) ((extract(@run3, 1) * 0.34) + extract(@run3, 2));
    @run5: (@run_slow) ((extract(@run4, 1) * 0.34) + extract(@run4, 2));
    @run6: (@run_slow) ((extract(@run5, 1) * 0.55) + extract(@run5, 2));
    @run7: (@run)      ((extract(@run6, 1) * 0.34) + extract(@run6, 2));
    @run8: (@run)      ((extract(@run7, 1) * 0.21) + extract(@run7, 2));
    @run9: (@run)      ((extract(@run8, 1) * 0.13) + extract(@run8, 2));
    .art-voice-user.a {animation: in-fade-left      @run1 backwards;}
    .art-voice-name.a {animation: in-fade-left-soft @run1 backwards;}
    .art-voice-talk.a {animation: in-zoom           @run2 backwards;}
    .art-voice-user.b {animation: in-fade-left      @run2 backwards;}
    .art-voice-name.b {animation: in-fade-left-soft @run2 backwards;}
    .art-voice-talk.b {animation: in-zoom           @run2 backwards;}
    .art-voice-user.c {animation: in-fade-left      @run3 backwards;}
    .art-voice-name.c {animation: in-fade-left-soft @run3 backwards;}
    .art-voice-talk.c {animation: in-zoom           @run4 backwards;}
    .art-voice-user.d {animation: in-fade-left      @run4 backwards;}
    .art-voice-name.d {animation: in-fade-left-soft @run4 backwards;}
    .art-voice-talk.d {animation: in-zoom           @run5 backwards;}
    .focus {
      .iconpile     {animation: in-fade @run6 backwards; transform-origin: center;}
      .stroke-sound {animation: in-zoom @run7 backwards; transform-origin: center;}
      .stroke-wave1 {animation: in-zoom @run7 backwards; transform-origin: left;}
      .stroke-wave2 {animation: in-zoom @run8 backwards; transform-origin: left;}
      .stroke-wave3 {animation: in-zoom @run9 backwards; transform-origin: left;}
    }
  }
}
.animate_menu_opened() {
  @run1: (@run)      (@now);
  @run2: (@run_slow) ((extract(@run1, 1) * 0.21) + extract(@run1, 2));
  @run3: (@run)      ((extract(@run2, 1) * 0.13) + extract(@run2, 2));
  @run4: (@run)      ((extract(@run3, 1) * 0.08) + extract(@run3, 2));
  @run5: (@run)      ((extract(@run4, 1) * 0.05) + extract(@run4, 2));
  .inner      {animation: opened-menu-inner      @run1 backwards;}
  .background {animation: opened-menu-background @run2 backwards;}
  .canvas     {animation: opened-menu-canvas     @run3 backwards;}
  .chat       {animation: opened-menu-chat       @run4 backwards;}
  .foreground {animation: opened-menu-foreground @run5 backwards;}
}
.animate_menu_closed() {
  @run1: (@run_fast) (@now);
  @run2: (@run)      ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
  @run3: (@run_fast) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
  .background {animation: closed-menu-background @run1 backwards;}
  .canvas     {animation: closed-menu-canvas     @run2 backwards;}
  .chat       {animation: closed-menu-chat       @run3 backwards;}
}
.animate_chat_opened() {
  &:not(.chat-closed) {
    @run1: (@run_fast)   (@now);
    @run2: (@run_slower) ((extract(@run1, 1) * 0.34) + extract(@run1, 2));
    @run3: (@run)        ((extract(@run2, 1) * 0.21) + extract(@run2, 2));
    @run4: (@run_slow)   ((extract(@run3, 1) * 0.13) + extract(@run3, 2));
    .chat-window    {animation: opened-chat         @run1 backwards;}
    .chat-log       {animation: in-fade-right-soft  @run2 backwards;}
    .chat-box       {animation: in-fade-bottom-soft @run3 backwards;}
    .chat-box label {animation: in-fade-bottom-soft @run4 backwards;}
  }
}
.animate_chat_closed() {
  &:not(.chat-opened) {
    @run1: (@run)      (@now);
    @run2: (@run)      ((extract(@run1, 1) * 0.55) + extract(@run1, 2));
    @run3: (@run_fast) ((extract(@run2, 1) * 0.34) + extract(@run2, 2));
    .chat-window       {animation: closed-chat @run1 backwards;}
    // TODO come back to smooth this out
    // .chat-log          {animation: closed-chat      @run2 backwards;}
    // .chat-box          {animation: closed-chat  @run3 backwards;}
{'fraction_non_alphanumeric': 0.19608059619100193, 'fraction_numerical': 0.04471432514490754, 'mean_word_length': 3.0302558398220243, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4029009', 'n_tokens_mistral': 7142, 'n_tokens_neox': 6597, 'n_words': 1452}