.ai-btn{--ai-pad:calc(var(--ai-s) * .9);width:calc(var(--ai-s) + var(--ai-pad) * 2);height:calc(var(--ai-s) + var(--ai-pad) * 2);margin:calc(var(--ai-pad) * -1);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.ai-btn:disabled{cursor:default;opacity:.45}.ai-glyph{font-size:var(--ai-s);color:var(--ai-inactive);z-index:1;pointer-events:none;transition:color .18s;display:flex;position:relative}.ai-btn.is-active .ai-glyph{color:var(--ai-active)}.ai-lines{pointer-events:none;position:absolute;inset:0}.ai-line{transform:rotate(var(--rot));position:absolute;inset:0}.ai-line:before{content:"";background:var(--ai-active);opacity:0;border-radius:2px;width:2px;height:0;margin-left:-1px;position:absolute;top:50%;left:50%}.ai-btn--burst.is-animating .ai-line:before{animation:.4s cubic-bezier(.22,.85,.4,1) both ai-burst-line}@keyframes ai-burst-line{0%{opacity:1;height:0;top:50%}35%{top:calc(50% - var(--ai-s) * .45);height:calc(var(--ai-s) * .45);opacity:1}to{top:calc(50% - var(--ai-s) * 1.15);height:calc(var(--ai-s) * .12);opacity:0}}.ai-btn--burst.is-animating .ai-glyph{animation:.34s both ai-burst-icon}@keyframes ai-burst-icon{30%{transform:scale(1.28)}65%{transform:scale(.88)}to{transform:scale(1)}}.ai-btn--swing.is-animating .ai-glyph{transform-origin:top;animation:.5s cubic-bezier(.36,.07,.19,.97) both ai-swing}@keyframes ai-swing{0%{transform:rotate(0)}20%{transform:rotate(-22deg)}50%{transform:rotate(14deg)}72%{transform:rotate(-8deg)}88%{transform:rotate(4deg)}to{transform:rotate(0)}}.ai-btn--spin.is-animating .ai-glyph{animation:.45s cubic-bezier(.22,.85,.4,1) both ai-spin}@keyframes ai-spin{0%{transform:rotate(0)}55%{transform:rotate(100deg)}72%{transform:rotate(80deg)}88%{transform:rotate(93deg)}to{transform:rotate(90deg)}}.ai-btn--heartbeat.is-animating .ai-glyph{animation:.5s both ai-heartbeat}@keyframes ai-heartbeat{0%{transform:scale(1)}18%{transform:scale(1.35)}34%{transform:scale(1)}50%{transform:scale(1.22)}70%{transform:scale(.95)}to{transform:scale(1)}}.ai-btn--flash.is-animating .ai-glyph{animation:.3s both ai-flash}@keyframes ai-flash{0%{filter:brightness();transform:scale(1)}22%{filter:brightness(2.2);transform:scale(1.38)}58%{filter:brightness(1.15);transform:scale(.94)}to{filter:brightness();transform:scale(1)}}