/* generated by tools/port_intro.py */
body.intro-body{margin:0;background:var(--rm-hero)}
.rm-intro a{color:var(--rm-haccent)}.rm-intro a:hover{color:var(--rm-haccent-hi)}
.rm-intro .rm-halo{text-shadow:var(--rm-halo)}.rm-intro .rm-halo svg{filter:var(--rm-icon-halo)}
@keyframes rmSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes rmPulse{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes rmEmber{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.9}70%{opacity:.55}100%{transform:translate3d(22px,-78vh,0);opacity:0}}
@keyframes rmCape{0%,100%{transform:skewX(0deg)}50%{transform:skewX(3.5deg)}}
@keyframes rmGrowl{0%{transform:translate(0,0)}25%{transform:translate(1.2px,-.8px)}50%{transform:translate(-1px,.8px)}75%{transform:translate(.8px,1px)}100%{transform:translate(0,0)}}
@keyframes rmRecoil{0%{transform:translateY(0)}18%{transform:translateY(16px)}40%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@keyframes rmBigKick{0%{transform:rotate(0deg)}45%{transform:rotate(-72deg)}55%{transform:rotate(-75deg)}63%{transform:rotate(10deg)}74%{transform:rotate(-4deg)}100%{transform:rotate(0deg)}}
@keyframes rmLean{0%{transform:rotate(0deg)}48%{transform:rotate(-5deg)}63%{transform:rotate(4deg)}80%{transform:rotate(-1deg)}100%{transform:rotate(0deg)}}
@keyframes rmShockBig{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:scale(2.3)}}
@keyframes rmBurst{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(1.6)}}
@keyframes rmFlash{0%{opacity:0}20%{opacity:.95}100%{opacity:0}}
@keyframes rmShake{0%{transform:translate(0,0)}15%{transform:translate(-10px,5px)}30%{transform:translate(9px,-6px)}45%{transform:translate(-7px,4px)}60%{transform:translate(5px,-3px)}78%{transform:translate(-3px,1px)}100%{transform:translate(0,0)}}
@keyframes rmShakeLite{0%{transform:translate(0,0)}30%{transform:translate(-4px,2px)}60%{transform:translate(3px,-1px)}100%{transform:translate(0,0)}}
@keyframes rmThrowArm{0%{transform:rotate(20deg)}28%{transform:rotate(155deg)}40%{transform:rotate(150deg)}55%{transform:rotate(60deg)}100%{transform:rotate(25deg)}}
@keyframes rmWhipArm{0%{transform:rotate(20deg)}30%{transform:rotate(160deg)}50%{transform:rotate(55deg)}100%{transform:rotate(40deg)}}
@keyframes rmLash{0%{stroke-dashoffset:700}42%{stroke-dashoffset:0}62%{stroke-dashoffset:0}100%{stroke-dashoffset:-700}}
@keyframes rmCrack{0%{opacity:0;transform:scale(.3) rotate(0deg)}25%{opacity:1;transform:scale(1.25) rotate(15deg)}100%{opacity:0;transform:scale(.8) rotate(30deg)}}
@keyframes rmToss{0%{transform:translate(-94px,-756px) rotate(0deg) scale(.42)}35%{transform:translate(-30px,-830px) rotate(260deg) scale(.5)}100%{transform:translate(0,0) rotate(720deg) scale(1)}}
@keyframes rmYank{0%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}30%{opacity:1;transform:translate(-30px,-40px) rotate(-25deg) scale(1.05)}100%{opacity:0;transform:translate(-320px,-560px) rotate(-300deg) scale(.45)}}
@keyframes rmBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@keyframes rmChew{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@keyframes rmEq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes rmRadioIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
